我有一项非常具体的任务,我似乎无法使其发挥作用。 我有一个带有图形符号(名为help)的Animate文件,其中包含一个动态文本区域(名为help_txt),其中包含一些文本。我想用外部xml文件更改它。 我的Xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<frame>
<first>Begin your adventure here.</first>
<second>We continue here</second>
</frame>
我通过以下方式上传了外部XML文件:
var myXml:XML = new XML();
myXml.ignoreWhite = true;
var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("test_eng.xml"));
myLoader.addEventListener(Event.COMPLETE, processXML)
function processXML(e:Event):void {
myXml = new XML(e.target.data);
parsFramText();
}
function parsFramText(){
help_txt.text = myXml.first.text;
}
答案 0 :(得分:0)
在URL Loader类上调用Event.COMPLETE
方法后,您正在为load
添加事件侦听器。您应首先添加事件侦听器,然后调用load
方法。
此外,您只需访问myXml.first
即可返回所需的文字。
更新了以下代码:
var myXml:XML = new XML();
myXml.ignoreWhite = true;
var myLoader:URLLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, processXML);
myLoader.load(new URLRequest("test_eng.xml"));
function processXML(e:Event):void {
myXml = new XML(e.target.data);
myLoader.removeEventListener(Event.COMPLETE, processXML);
parsFramText();
}
function parsFramText():void{
help_txt.text = myXml.first;
}
此外,您应该在加载XML后删除事件侦听器。请查看一些错误处理事件侦听器,以便处理故障情形。
希望这会有所帮助。感谢。