Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Событие загрузки не срабатывает? (http://www.flasher.ru/forum/showthread.php?t=158466)

forward 20.06.2011 02:53

Событие загрузки не срабатывает?
 
Доброго времени суток!

Гружу вот так xml:

Код AS3:

package  {
 
        import flash.display.MovieClip;
        import flash.display.Loader;
        import flash.net.URLRequest;
        import flash.events.Event;
        import flash.events.IOErrorEvent;
 
 
        public class Main extends MovieClip {
 
                private var my_xml:String = 'data.xml'
 
                public function Main() {
                        initXML();
                }
 
                private function initXML(){
                        var loader = new Loader();
                        var req = new URLRequest(my_xml);
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE,parseXML);
                        loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
                        loader.load(req);
 
                }
 
                private function ioErrorHandler(e:Event){
                        trace('no xml file');
                }
                private function parseXML(e:Event){
                        var xml:XML = e.target.data;
                        trace(xml);
 
                }
        }
 
}

Функция parseXML не вызывается...так как событие окончания загрузки не срабатывает....:(

Что не так?

MXPain 20.06.2011 04:08

вот так попробуйте
loader.addEventListener(Event.COMPLETE,parseXML);

andrew911 20.06.2011 05:34

2 MXPain
Не поможет.


Класс Loader Loader используется для загрузки SWF-файлов либо файлов изображений (JPG, PNG или GIF).
...
Используйте класс URLLoader для загрузки текстовых или двоичных данных.


Код AS3:

loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);

Это скрывает вашу ошибку, уберите и посмотрите.

kackbip 20.06.2011 05:36

Вам нужно заменить Loader на URLLoader.

forward 20.06.2011 15:45

Всем СПАСИБО вот так получилось:
Код:

package  {
 
        import flash.display.MovieClip;
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import flash.events.Event;
        import flash.events.IOErrorEvent;
 
 
        public class Main extends MovieClip {
               
                private var my_xml:String = 'data.xml';
 
                public function Main() {
                        initXML();
                }
 
                private function initXML(){
                        var loader:URLLoader = new URLLoader();
                        var req = new URLRequest(my_xml);
                        loader.addEventListener(Event.COMPLETE,parseXML);
                        loader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
                        loader.load(req);
                       
                }
 
                private function ioErrorHandler(e:Event){
                        trace('no xml file');
                }
                private function parseXML(e:Event){

                        var xml = new XML(e.target.data);
                        trace(xml);
                       
                }
        }
 
}

:)


Часовой пояс GMT +4, время: 06:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.