![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
Здравствуйте! Сделал внешний прелоадер для swf файла, но в этой swf есть загружаемые данные из xml? И когда делаю внешний прелоадер, то это не учитывается, как быть из-за этого swf подгружается раньше чем нужно и весь контент не успевает загрузиться он грузиться после того как уже появилась swf! Как быть в этом случае?
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
Сейчас вы похоже используете событие Complete. В подгружаемой swf создайте событие CompleteXml и его посылайте, по окончании загрузки xml. В прелоадере вешайте слушатель CompleteXml на подгруженную флешку, после того как придёт INIT и вы сможете подключиться к флешке. Как то так...
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
Да использую Complete вот так:
function loadXML(file:String):void{ var xmlLoader:URLLoader = new URLLoader(); xmlLoader.load(new URLRequest(file)); xmlLoader.addEventListener(Event.COMPLETE, comleteLoading); } function comleteLoading(e:Event):void{ xml = XML(e.target.data); xmlList = xml.children(); trace(xml); removeChild(completeLoad); loadMenus(); } |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
Выдает ошибку! Монтажный кадр 1, слой "AS", кадр 1, строка 58 1067: Неявное приведение значения типа String к несоответствующему типу flash.events:Event.
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
А что писать в лоадере, я с dispatchEvent еще не работал!
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 144
|
import flash.display.Loader; import flash.net.URLRequest; var xml:XML; var xmlList; var loader:Loader = new Loader(); var _loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); loader.load(new URLRequest("experement.swf")); function onComplete(e:Event):void{ _loader.content.addEventListener("xmlComplete", handler); } function handler():void{ trace("Загрузка завершена, можно поместить на сцену."); addChild(loader); } function onProgress(e:ProgressEvent):void { trace("Загрузка "+ e.target.bytesLoaded + "/"+e.target.bytesTotal); } at experement_fla::MainTimeline/frame1() TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at loader_fla::MainTimeline/onComplete() |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|