使用外部 xml 文件更改动态文本

Changing dynamic text with external xml file

我有一个非常具体的任务,但我似乎无法完成它。 我有一个带有图形符号(名为 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;  
}    

您在 URL 加载程序 class 上调用 load 方法后为 Event.COMPLETE 添加事件侦听器。您应该先添加事件侦听器,然后调用 load 方法。

此外,您只需要访问 myXml.first 就应该 return 需要的文本。

在下面更新了您的代码:

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 后,您应该删除事件侦听器。一定要查看一些错误处理事件侦听器,以便处理故障情况。

希望这对您有所帮助。谢谢。