如何通過Flash加載和刪除多個(gè)外部SWF文件
在使用Flash制作課件時(shí),為了方便制作和測試,有時(shí)候我們會(huì)將課件分割成多個(gè)部分,每個(gè)部分做成一個(gè)小動(dòng)畫,并且制作一個(gè)主界面。當(dāng)需要播放某個(gè)小動(dòng)畫時(shí),只需點(diǎn)擊主界面上的按鈕,即可載入并播放相應(yīng)的小動(dòng)畫
在使用Flash制作課件時(shí),為了方便制作和測試,有時(shí)候我們會(huì)將課件分割成多個(gè)部分,每個(gè)部分做成一個(gè)小動(dòng)畫,并且制作一個(gè)主界面。當(dāng)需要播放某個(gè)小動(dòng)畫時(shí),只需點(diǎn)擊主界面上的按鈕,即可載入并播放相應(yīng)的小動(dòng)畫。本文將介紹如何通過Flash實(shí)現(xiàn)這樣的效果。
步驟一:導(dǎo)入類和相關(guān)包
首先,在代碼中導(dǎo)入以下類和相關(guān)包:
```actionscript
import flash.display.Loader; //加載外部資源的類
import ; //負(fù)責(zé)地址請(qǐng)求與解析的類
import flash.display.Sprite; //容器
import ; //鼠標(biāo)事件
```
步驟二:外部小動(dòng)畫集成數(shù)組
接下來,定義一個(gè)數(shù)組來存儲(chǔ)外部小動(dòng)畫的地址:
```actionscript
var url:Array ["mc0.swf", "mc1.swf", "mc2.swf", "mc3.swf"]; //存儲(chǔ)外部SWF文件的地址
var index:uint 0; //數(shù)組指針,指示當(dāng)前播放的是第幾個(gè)小動(dòng)畫
var box:Sprite new Sprite(); //加載播放小動(dòng)畫的容器
(box); //將容器顯示在舞臺(tái)上
```
注意,外部小動(dòng)畫必須與主文件在同一個(gè)目錄下,否則會(huì)出現(xiàn)錯(cuò)誤。
步驟三:刪除已加載的小動(dòng)畫
接下來,定義一個(gè)函數(shù)用于刪除已加載的小動(dòng)畫:
```actionscript
function removePreviousAnimation():void {
while ( > 0) { //清空容器里已經(jīng)有的動(dòng)畫
(0); //從容器中刪除第一個(gè)動(dòng)畫
}
}
```
步驟四:播放指定的小動(dòng)畫
定義一個(gè)主函數(shù),用于載入并播放指定的小動(dòng)畫:
```actionscript
function playAnimation(n:uint 0):void {
var loader:Loader new Loader(); //實(shí)例化加載類
var urlRequest:URLRequest new URLRequest(url[n]); //實(shí)例化數(shù)據(jù)請(qǐng)求類
loader.load(urlRequest); //載入外部SWF文件
removePreviousAnimation(); //刪除已加載的小動(dòng)畫
(loader); //顯示新的動(dòng)畫
}
```
默認(rèn)情況下,載入并播放第一個(gè)小動(dòng)畫:
```actionscript
playAnimation(index);
```
步驟五:按鈕控制加載
為了方便辨認(rèn),我們給每個(gè)按鈕添加一個(gè)數(shù)字作為標(biāo)識(shí)。以下是按鈕的代碼:
```actionscript
(, nextSwf);
(, nextSwf);
(, nextSwf);
(, nextSwf);
function nextSwf(e:MouseEvent):void {
index (4, 1); //獲取按鈕名字中的第四個(gè)字符,即對(duì)應(yīng)的數(shù)字
playAnimation(index); //播放對(duì)應(yīng)的小動(dòng)畫
}
```
這樣,我們就成功地實(shí)現(xiàn)了通過Flash加載和刪除多個(gè)外部SWF文件的效果。