![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Категорически приветствую.
Попросили сделать flash информер с 2 текстовыми полями и 1 привью изображением. Текст и изображение грузится из XML файла находящийся рядом с флешкой. Написал вот такой код: import flash.net.URLLoader; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.SecurityErrorEvent; import flash.net.URLRequest; const URL:String = "text.xml"; var loader:URLLoader; init(); function init():void { loader = new URLLoader(); loader.addEventListener(Event.COMPLETE, comleteLoading_title1); loader.addEventListener(Event.COMPLETE, comleteLoading_text1); loader.addEventListener(Event.COMPLETE, comleteLoading_image1); var request:URLRequest = new URLRequest(URL); loader.load(request); } function comleteLoading_title1(event:Event):void { var xml:XML = XML(loader.data); var text:String = xml.title1; text_txt.text = text; } function comleteLoading_text1(event:Event):void { var xml:XML = XML(loader.data); var text:String = xml.text1; text1_txt.text = text; } function comleteLoading_image1(event:Event):void { var ldr:Loader = new Loader(); var xml:XML = XML(loader.data); var img:String = xml.img1; var urlReq:URLRequest = new URLRequest(img); image1.addChild(ldr); trace ("end") } Заранее спасибо за ответ. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Цитата:
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 149
|
А разве у вас trace ("end"); срабатывает?
По-моему Слушать надо не loader, а loader.contentloaderinfo. И загруженная картинка будет лежать в loader.content. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Кстати, да. Еще loader.load нужно бы вызвать или в конструктор передать URLRequest. Loader же не знает, что вам нужно грузить.
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Можно немного поподробней.
Хотя бы показать как было бы правильно на куске кода. Последний раз редактировалось General303; 21.06.2012 в 14:17. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Про что именно? Речь идет про ldr. Loader.contentLoaderInfo есть в справке. Там все описано. События загрузки описаны в Loader.load. Ну а у вас строчка ldr = new Loader() просто создает новый лоадер, который ничего не грузит (потому что не знает, что именно грузить). urlReq = ... тоже просто создает новый URLRequest, который ничего не делает (и не должен, может, вы его еще конфигурировать дальше будете).
Вам нужно еще добавить: ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ...); ldr.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR ...); ldr.load(urlReq); Пример по памяти написан, могут быть опечатки. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Я использовал пример из справочника
import flash.display.*; import flash.net.URLRequest; var rect:Shape = new Shape(); rect.graphics.beginFill(0xFFFFFF); rect.graphics.drawRect(0, 0, 100, 100); addChild(rect); var ldr:Loader = new Loader(); ldr.mask = rect; var url:String = "http://www.unknown.example.com/content.swf"; var urlReq:URLRequest = new URLRequest(url); ldr.load(urlReq); addChild(ldr); Так все работает, но изображение создается отдельно в левом верхнем углу, то есть не в мувике |
|
|||||
|
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Оказывается удалил предпоследнюю строку с ldr.load(urlReq);
Заработало, всем большое спасибо за ответы. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:39. |
|
|
« Предыдущая тема | Следующая тема » |
|
|