【发布时间】:2012-03-30 17:52:25
【问题描述】:
我正在尝试将我们制作的 xml 提要中的一些数据填充到我的 Flash 电影中。这个的主要动作是在MediaElementJS's.as 文件的构造函数中。
无论如何,主要问题是我一直在阅读没有办法在 AS3 中同步加载 URL(我仍然很难相信)。此构造函数同时调用parse('url') 和函数addEventListener(EVENT.ADDED_TO_STAGE, initializeAds);
现在广告需要来自 XML 的信息,但 XML 尚未准备好。当我知道它会被准备好时,我试图在 XML 解析器的末尾调用广告,但它把它们弄乱了,并且广告值永远不会改变它们的默认值..
哦,你为什么要使用 actionscript 锁定机制..
那么是否有从 URL 预加载数据的方法?
代码:
public function LoadXML(e:Event):void
{
removeEventListener(Event.COMPLETE, LoadXML);
var xmlData:XML = new XML(e.target.data);
episodeData.pre.type = xmlData.episode.pre.ad.@type;
episodeData.pre.url = xmlData.episode.pre.ad.text();
episodeData.video = Number(xmlData.episode.video.@id); /*************** I CAN'T REMEMBER ***********/
episodeData.pageTitle = xmlData.episode.video.@pagetitle;
episodeData.title = xmlData.episode.video.@title;
episodeData.source = xmlData.episode.video.source.text();
episodeData.post.type=xmlData.episode.post.ad.@type;
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);
【问题讨论】:
标签: actionscript-3 events event-handling xml-parsing