Animate如何加载外部xml文件并解析(AS3)
使用AS3脚本可以加载外部的文本文件,并进行解析,制作可动态更新的动画或互动课件,无需修改源文件,灵活性大大提高。
1.新建一个记事本文件,命名为info.txt,里面的内容如下,具体可根据需要进行制作,其中“|”是为了加载后进行解析使用的:
信息a|信息b|信息c|信息d|信息e
2.要另存这个txt为info.xml,其它选项如下,编码一定要选择utf-8,以正常显示中文。

3.打开FLASH软件,选择新建AS3文档。一定要保存到和文本文件同一路径下。在舞台上画一个矩形,并转换为影片剪辑。


4.双击影片剪辑进入编辑状态。

5.选择文本工具,在矩形上放一个动态文本框,如下图

6.动态文本框属性设置如下,消除锯齿选项选择使用设备字体。

7.回到舞台,将影片剪辑复制四个出来,按文本文件中的数量复制即可。

8.设置它们的实例名分别为mc0,mc1,mc2,mc3....

9.准备工作做好了,接下来编写代码,如下:
import flash.display.MovieClip;
var mc_count:int=5;//影片剪辑数量
var infoAry:Array=new Array();//存放信息
var txt_loader:URLLoader=new URLLoader();//加载文本文件使用
init();//初始化
function init():void
{
txt_loader.load(new URLRequest("info.xml"));//设置加载路径并开始加载 txt_loader.addEventListener(Event.COMPLETE,LoadedTxtEvent);//加载完成侦听
}
function LoadedTxtEvent(e:Event):void
{
var tempstr:String=String(e.target.data);
infoAry=tempstr.split("|");//解析文本信息
for(var i:int=0;i<mc_count;i++)
{
this["mc"+i].txt.visible=false;//隐藏文本框
this["mc"+i].txt.mouseEnabled=false;//设置文本框不响应鼠标
this["mc"+i].txt.text=infoAry[i];//设置文本框内容
this["mc"+i].addEventListener(MouseEvent.MOUSE_OVER,MouseOverEvent);//鼠标经过事件
this["mc"+i].addEventListener(MouseEvent.MOUSE_OUT,MouseOutEvent);//鼠标离开事件
}
}
function MouseOverEvent(e:MouseEvent):void
{
var obj:MovieClip=e.currentTarget as MovieClip;
obj.txt.visible=true;
}
function MouseOutEvent(e:MouseEvent):void
{
var obj:MovieClip=e.currentTarget as MovieClip;
obj.txt.visible=false;
}
10.运行后就可以看到效果了。

如果有相关的FLASH或者Animate操作及代码方面的问题可以私信或留言,尽力解答! 如果感觉我们的文章很有用,记得分享给朋友或同学,让更多人方便的学习到实用的Flash知识。
关注VX公众号【快乐等于生活】 可以学习更多实用的FLASH软件及Animate软件操作和代码开发