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