![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2010
Сообщений: 59
|
Здравствуйте, подскажите, как правильно сделать свой обработчик загрузки XML файлов
т.е. есть несколько XML предположим: hero.xml weapon.xml enemy.xml мне надо загрузить их данные в главном классе Main и потом уже пользоваться там где надо... вот примерно что получается: Main класс public class Main extends MovieClip { public function Main():void { var xmlHero:XMLLoader = new XMLLoader("Data/Hero.xml"); var xmlWeapon:XMLLoader = new XMLLoader("Data/Weapon.xml"); var xmlEnemy:XMLLoader = new XMLLoader("Data/Enemy.xml"); trace(xmlHero.xmlData, xmlWeapon.xmlData, xmlEnemy.xmlData); } } package { import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; public class XMLLoader { var xmlData:XML; public function XMLLoader(file:String):void { var loader:URLLoader = new URLLoader(new URLRequest(file)); loader.addEventListener(Event.COMPLETE, loadedXML); } private function loadedXML(e:Event):void { e.target.removeEventListener(Event.COMPLETE, getXML); xmlData = new XML(e.target.data); } } } собственно вопрос как быть? если на словах, то есть несколько XML файлов, надо их как-то удобно загрузить, что бы из любого класса был к ним доступ в любое время, причем хочется сделать это красиво и удобно, что бы не загромождать главный класс, поэтому и хочется в отдельном классе есть идеи как сделать? заранее благодарю |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 128
|
ну так диспатчите свое сообщение
public class Main extends MovieClip { public function Main():void { var xmlHero:XMLLoader = new XMLLoader("Data/Hero.xml"); xmlHero.addEventListener(XMLLoader.LOADED,handlerXmlLoaded) } private function handlerXmlLoaded(event:Event):void { trace(event.target.xmlData); } } package { import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; public class XMLLoader { public var xmlData:XML; public static var LOADED:String = "loadedXML"; public function XMLLoader(file:String):void { var loader:URLLoader = new URLLoader(new URLRequest(file)); loader.addEventListener(Event.COMPLETE, loadedXML); } private function loadedXML(e:Event):void { e.target.removeEventListener(Event.COMPLETE, getXML); xmlData = new XML(e.target.data); dispatchEvent(new Event(XMLLoader.LOADED,true)); } } }
__________________
md5 еще какое то (я так понял кодировка) … вот такие дела )) |
|
|||||
|
Регистрация: May 2010
Сообщений: 59
|
спасибо за оперативный ответ :-) будем работать дальше =)
Добавлено через 3 часа 20 минут 2gldrawworld а не подскажите, как действовать именно с несколькими файлами XML? в данном варианте как Вы показали мне нужно: загрузить все три файла, и только в случае, когда загрузятся ВСЕ, продолжить работу что-то не соображу как сделать |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|