(swf as3 XML URLLoader) 在 flex 中不起作用

Posted

技术标签:

【中文标题】(swf as3 XML URLLoader) 在 flex 中不起作用【英文标题】:(swf as3 XML URLLoader) not working in flex 【发布时间】:2011-09-07 03:15:04 【问题描述】:

大家好,当 swf 在 flex 中运行时,我在 flash 中遇到了 XML URLLoader 的问题。

我可以来回通信从 2 来回发送变量和数组完全没有问题,但发现了一个我在网上找不到任何答案的异常情况。

我的问题如下URLLoader 没有从 XML 文件中检索信息。当我自己运行 swf 时,它没有问题,但 flex 似乎停止了连接。 swf 中的其他所有内容都按预期工作。

我还发现,如果我在 swf 中添加 stage.addEventListener,flex 会禁用 swf 中的所有内容。

以下代码位于闪存组件的根时间线中。 test.XML 文件位于 flash swf 和 flex src/ 文件夹的根文件夹中。我没有收到任何错误......它只是不会工作大声笑

////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);

                        

              

真的很感激这方面的帮助。

【问题讨论】:

我编辑了你的主题行,因为在“请帮助”之后添加了很多感叹号让我想对你不了解基本的论坛礼仪投反对票。 如何在 Flex 中加载 SWF? ProcessXML 没有被击中是因为 xml 没有被加载或者代码从未运行过?您是否看到该 xml 的 HTTP 请求?你试过调试吗? 【参考方案1】:
myLoader.load(new URLRequest("test.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML);

首先 - 切换功能位置。 在附加句柄之前,您基本上调用了加载过程...... 所以我的第一个建议是按如下方式切换他们的执行位置:

myLoader.addEventListener(Event.COMPLETE, processXML);
myLoader.load(new URLRequest("test.xml"));

【讨论】:

以上是关于(swf as3 XML URLLoader) 在 flex 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将 AS2 SWF 加载到 AS3 SWF 中并在 URL 中传递变量

as3中xml文件的加载和读取

是否可以在 AS3 中查看从 SWF 下载的 crossdomain.xml?

AS3:重用 URLLoader、URLRequest 和 URLVariables 实例

XML 加载的 AS3 问题

如何访问 IOErrorEvent 上的 AS3 URLLoader 返回数据