使用AS3腳本可以加載外部的文本文件,并進行解析,制作可動態更新的動畫或互動課件,無需修改源文件,靈活性大大提高。
新建一個記事本文件,命名為info.txt,里面的內容如下,具體可根據需要進行制作,其中“|”是為了加載后進行解析使用的:
信息a|信息b|信息c|信息d|信息e
接下來,要另存這個txt為info.xml,其它選項如下,編碼一定要選擇utf-8,以正常顯示中文。
打開FLASH軟件,選擇新建AS3文檔。一定要保存到和文本文件同一路徑下。
在舞臺上畫一個矩形,并轉換為影片剪輯。
雙擊影片剪輯進入編輯狀態。
選擇文本工具,在矩形上放一個動態文本框,如下圖
動態文本框屬性設置如下,消除鋸齒選項選擇使用設備字體。
回到舞臺,將影片剪輯復制四個出來,按文本文件中的數量復制即可。
設置它們的實例名分別為mc0,mc1,mc2,mc3....
準備工作做好了,接下來編寫代碼,如下:
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;
}
CTRL+ENTER就可以看到效果了。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!