当前位置:网站首页 > 创业 > 正文

FLASH CS6如何加载外部txt文件并解析(AS3)

0 张子豪 张子豪 2025-10-12 15:03 1

使用AS3脚本可以加载外部的文本文件,并进行解析,制作可动态更新的动画或互动课件,无需修改源文件,灵活性大大提高。

工具/原料

  • FLASH CS6软件
  • AS3入门基础

方法/步骤

  1. 1

    新建一个记事本文件,命名为info.txt,里面的内容如下,具体可根据需要进行制作,其中“|”是为了加载后进行解析使用的:

    信息a|信息b|信息c|信息d|信息e

  2. 2

    接下来,要另存这个txt为info.xml,其它选项如下,编码一定要选择utf-8,以正常显示中文。

  3. 3

    打开FLASH软件,选择新建AS3文档。一定要保存到和文本文件同一路径下。

  4. 4

    在舞台上画一个矩形,并转换为影片剪辑。

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

    准备工作做好了,接下来编写代码,如下:

    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;

    }

  11. 11

    CTRL+ENTER就可以看到效果了。

注意事项

  • 必须AS3文档
  • 有什么不明白的可以留言。

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/244553.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图