(SWF as3 XML URLLoader) не работает в flex - PullRequest
0 голосов
/ 02 июня 2011

Привет всем. У меня проблема с XML URLLoader во флэш-памяти, когда SWF работает во Flex.

Я могу общаться туда и обратно, отправляя переменные и массивы туда и обратно из 2-х, без проблем, но обнаружил аномалию, на которую я не могу найти ответы в Интернете.

Теперь моя проблема в следующем: приведенный ниже код прекрасно работает, когда я запускаю его во флэш-памяти, но когда я экспортирую SWF-файл и запускаю его во Flex как компонент загрузчика SWF, «функция processXML не будет срабатывать», или она запускается, но URLLoader не получает информацию из файла XML. Когда я запускаю swf самостоятельно, это не проблема, но, похоже, flex останавливает соединение. Все остальное в swf работает как положено.

Я также обнаружил, что если я добавлю stage.addEventListener в swf, flex отключит все в swf.

Следующий код находится в корневой временной строке компонента flash. И файл test.XML находится в корневой папке flash swf и flex src /. Я не получаю никаких ошибок ... просто не будет работать LOL

////XML Loader/////
var myXML:XML;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("test.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);

function processXML(e:Event):void
            {
                        myXML = new XML(e.target.data);
            }


            function AfricaClick (event:MouseEvent):void
            {
                        if(myXML.COUNTRY[0] == "yes")
                        {
                                    gotoAndStop(2);
                                    trace(myXML);

                        }

            }  

Действительно был бы признателен за помощь в этом.

1 Ответ

0 голосов
/ 03 июня 2011
myLoader.load(new URLRequest("test.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);

1-й из всех - поменяйте местами функции. Вы в основном вызываете процедуру загрузки до того, как дескриптор прикреплен ... поэтому мое первое предложение - поменять местами их исполнения следующее:

myLoader.addEventListener(Event.COMPLETE, processXML);
myLoader.load(new URLRequest("test.xml"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...