|
|
|||||
Регистрация: Aug 2006
Сообщений: 32
|
загрузка двух xml файлов
здравствуйте!
у меня есть класс, в нем осуществляется загрузка двух xml файлов, после загрузки должно сгенерироваться событие. Вопрос в том как это лучше сделать? я это сделал следующим образом: public class XMLLoader extends Sprite { public var xmlMap:XML; public var xmlObjects:XML; private var ready:Boolean=false; //--------------------------------------------------------- public function XMLLoader() { var loaderMap:URLLoader=new URLLoader(); loaderMap.dataFormat=URLLoaderDataFormat.TEXT; loaderMap.addEventListener(Event.COMPLETE,loadCompleteMap); loaderMap.load(new URLRequest("map.xml")); var loaderObjects:URLLoader=new URLLoader(); loaderObjects.dataFormat=URLLoaderDataFormat.TEXT; loaderObjects.addEventListener(Event.COMPLETE,loadCompleteObjects); loaderObjects.load(new URLRequest("staticObjects.xml")); } //--------------------------------------------------------- private function loadCompleteMap(event:Event):void { xmlMap=new XML(event.target.data); if (ready==true) { dispatchEvent(new Event("xmlLoaded",true)); } else { ready=true; } } //--------------------------------------------------------- private function loadCompleteObjects(event:Event):void { xmlObjects=new XML(event.target.data); if (ready==true) { dispatchEvent(new Event("xmlLoaded",true)); } else { ready=true; } } } |
|
|||||
Регистрация: Aug 2006
Сообщений: 32
|
по сути переменная ready эту роль и выполняет, но при этом остается описанная мною проблема с параллелизмом.
|
|
|||||
Цитата:
__________________
2+2=5 |
|
|||||
Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
|
ну а что добавьте ваши лодеры в массив например, когда происходить complete тупо увеличиваем на единицу и проверяем если количество равно двум то выполнить какие либо дальнейшие действия
__________________
Коллекционирую чужие ActionScript Блоги |
|
|||||
Регистрация: Aug 2006
Сообщений: 32
|
да действительно, сделал вариант со счетчиком:
public class XMLLoader extends Sprite { public var xmlMap:XML; public var xmlObjects:XML; private var ready:int=0; //--------------------------------------------------------- public function XMLLoader() { var loaderMap:URLLoader=new URLLoader(); loaderMap.dataFormat=URLLoaderDataFormat.TEXT; loaderMap.addEventListener(Event.COMPLETE,loadCompleteMap); loaderMap.load(new URLRequest("map.xml")); var loaderObjects:URLLoader=new URLLoader(); loaderObjects.dataFormat=URLLoaderDataFormat.TEXT; loaderObjects.addEventListener(Event.COMPLETE,loadCompleteObjects); loaderObjects.load(new URLRequest("staticObjects.xml")); } //--------------------------------------------------------- private function loadCompleteMap(event:Event):void { xmlMap=new XML(event.target.data); ready++; loadComplete(); } //--------------------------------------------------------- private function loadCompleteObjects(event:Event):void { xmlObjects=new XML(event.target.data); ready++; loadComplete(); } //--------------------------------------------------------- private function loadComplete() { if (ready==2) { dispatchEvent(new Event("xmlLoaded",true)); } } } Последний раз редактировалось Karandash8; 13.04.2010 в 16:05. |
|
|||||
Цитата:
__________________
2+2=5 |
Часовой пояс GMT +4, время: 20:03. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|