使用外部 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 后,您应该删除事件侦听器。一定要查看一些错误处理事件侦听器,以便处理故障情况。
希望这对您有所帮助。谢谢。
我有一个非常具体的任务,但我似乎无法完成它。 我有一个带有图形符号(名为 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 后,您应该删除事件侦听器。一定要查看一些错误处理事件侦听器,以便处理故障情况。
希望这对您有所帮助。谢谢。