我试图从我们制作的Flash影片中填充的XML feed中填充一些数据。这个的主要操作是在MediaElementJS's .as文件的构造函数中。在发生事件侦听器之前在ActionScript 3中加载XML
无论如何,主要问题是我一直在阅读,没有办法在AS3中同步加载URL(我仍然很难相信)。此构造函数调用parse('url')
和函数addEventListener(EVENT.ADDED_TO_STAGE, initializeAds);
现在广告需要来自XML的信息,但XML尚未准备好。我试图在XML解析器结束致电广告时,我就知道这将是坦然,但它搅乱他们和广告价值从来没有从他们的默认值改变..
哦wherefor艺术你动作锁定机制..
那么无论如何要预加载URL中的数据?
CODE:
public function LoadXML(e:Event):void
{
removeEventListener(Event.COMPLETE, LoadXML);
var xmlData:XML = new XML(e.target.data);
episodeData.pre.type = [email protected];
episodeData.pre.url = xmlData.episode.pre.ad.text();
episodeData.video = Number([email protected]); /*************** I CAN'T REMEMBER ***********/
episodeData.pageTitle = [email protected];
episodeData.title = [email protected];
episodeData.source = xmlData.episode.video.source.text();
[email protected];
episodeData.post.url=xmlData.episode.post.ad.text();
episodeData.nextEpisode=xmlData.episode.post.nextepisode.text(); //if not empty redirect to this
xmlLoading = false;
//THIS IS WHERE I TRIED TO CALL THE FUNCTION I NEED TO LOAD LATER
}
public function parse()
{
var xmlLoader:URLLoader = new URLLoader();
//var xmlData:XML = new XML();
xmlLoader.load(new URLRequest(rootURL + '/episode.aspx?associd=' + _episode));
//xmlLoader.addEventListener(Event.COMPLETE, processXML);
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
}
我曾与一个静态的URL地址,当然,诸如此类的东西,但没有骰子尝试过。
构造函数中的代码在我动态分配静态值时工作,但如果我尝试将事件链接到一起以获取动态值和动态赋值,它将进行计算。
在构造函数中,肯定自己都运行:
parse();
// Google IMA EventListener
addEventListener(Event.ADDED_TO_STAGE, initialize);
tbh我意识到这是加载的正确方式,这就是为什么语言改变了这种情况。 A.)我仍然想知道是否有任何可能的方法来强制它同步......然后B.)我认为我有一些事件监听器范围问题的实际问题。似乎人们很多地遇到它,但我不知道它是什么。你有什么可以借用关于在构造函数中设置事件监听的动态特性的AS3怪癖吗? – 2012-03-31 07:50:31
你是对的我overshot回答这个问题被包裹在关于异步的部分......我编辑我的答案上面添加一个解决方案以上的问题letwrting ...对不起 – shaunhusain 2012-03-31 18:17:42
好吧我试图更新我的回答基于我可以从你所说的内容拼凑出什么,但是如果没有我在上面发布的内容中描述的某些部分,我不能真正测试你的代码。如果我有rootURL,当你“一起链接到事件以获得动态值和动态赋值”时,我可以看到你在做什么,那么我可以帮忙,但没有更多的信息,我只是猜测。 – shaunhusain 2012-03-31 18:42:48