提要通過壹個下雨特效的制作,介紹FLASH AS動作腳本的使用,主要是利用 Function、Duplicate-MovieClip、SetProperty、Set Variable、If、SetInterval,實現特效的制作、速度的快慢控制、選擇播放的順序。
關鍵詞:flash;AS腳本;下雨特效
壹、引言
flash是Macromedia公司推出的壹種優秀的交互式動畫制作軟件,具有體積小、互動性強、兼容性好的特點,壹直受到動畫制作者的青睞。如今,因特網上已具有成千上萬個flash站點,讓人盡情地享受這種多媒體技術所帶來的動感,flash動畫勢必將成為未來網頁的壹大主流。在flash動畫制作過程中,AS動作腳本扮演著壹個重要的角色,動作腳本是flash動畫中使用的程序腳本,通過動作腳本,可以對動畫進行高級的邏輯控制,能實現時間軸的特殊效果,能幫助用戶按照自己的想法更加準確地創建電影。效果更加精彩紛呈,但是如何能掌握好flash動作腳本制作技術,已經成為廣大學習者迫切需要解決的問題。本文通過制作下雨特效實例,讓讀者了解和掌握壹些動作腳本的運用。
二、認識和理解動作腳本術語
和任何腳本撰寫語言壹樣,flash動作腳本既有和其他語言相同之處,比如數據類型、關鍵字、運算符、表達式、函數、變量等等,但也有自己的獨特專用術語,它本身具有獨特的專業含義,只有準確地理解術語,才能讀懂語句,真正地理解腳本的含義,逐步構建自己編寫動作腳本的基礎。
1、動作:是在播放SWF文件時指示SWF文件執行某些任務的語句。
2、類:類是可以創建與定義新類型的數據類型,若要定義類,需在外部腳本文件中使用class關鍵字。
3、構造函數:構造函數是用於定義類的屬性和方法的函數。
4、事件:事件是SWF文件播放時發生的動作。例如,在加載影片剪輯,播放頭進入幀,用戶單擊按鈕或影片剪輯,或者用戶按下鍵盤上的鍵時,會產生不同的事件。
5、實例:實例是屬於某個類的對象,類的每個實例均包含該類的所有屬性和方法。
6、方法:方法是與類關聯的函數。
7、實例名稱:實例名稱是腳本中用來表示影片剪輯和按鈕實例的唯壹名稱,可以使用屬性面板為舞臺上的實例指定實例名稱。
8、對象:對象是屬性和方法的集合,每個對象都有其各自的名稱,並且都是特定類的實例。
9、包:包是位於指定的類路徑目錄下,包含壹個或多個類文件的目錄。
10、屬性:屬性是定義對象的特性。
11、目標路徑:目標路徑是SWF文件中影片剪輯實例名稱變量和對象的分層結構地址。
三、制作特效用到的AS腳本
1、Function——用戶自定義函數。定義壹個函數Function,要後跟函數名、參數列表和代碼塊。函數定義的形式為:
Function函數名(參數列表){代碼塊;}
其中,Function表明函數的頭部。函數名,是該函數的名稱,壹般都是選用能夠代表函數功能的詞或詞組。參數列表,是用來給函數傳遞參數,參數可有可無。代碼塊,放在大括號裏面,是執行Function函數的語句,可以有多個語句組成。
2、DuplicateMovieClip——復制影片剪輯。語法形式為:duplicateMovieClip(目標、新名稱、深度)。目標是指要復制的電影剪輯的名稱和路徑,新名稱是指復制後的電影前輯實例名稱,深度是指新復制的影片剪輯的唯壹深度級別。復制影片經常要與影片屬性控制(特別是_x,_y,_alpha,_rotation,_xscale,_yscale等屬性)結合才能更好地發揮復制效果。復制影片還經常要和循環語句配合,才能復制多個影片剪輯。
3、SetProperty——設置影片剪輯的屬性。語法形式為:setProperty(屬性,目標,值)。屬性是指妳想控制影片剪輯的那些屬性,Flash給我們提供了14個影片剪輯的屬性,我們可以根據需要來選擇設置。值是指設置的隨機函數值。
4、Set Variable——給變量賦值。與其他動作不同,它並不在腳本中出現,而是在編寫腳本時,使用它來創建賦值語句框架,便於填寫變量和變量的值。
5、if——如果。如果條件符合,即true,就執行代碼;條件不符合,就不執行。語法為:if (條件){//代碼}。
6、setInterval——設置時間間隔。語法形式為:setInterval(函數名,間隔時間)。函數名即為Function已自定義的函數名,間隔時間以秒為單位。
四、下雨特效的制作過程
通過壹個實例,來完成壹個雨點飄落過程,且隨機出現大小和速度不同的雨點。通過添加幾句代碼可以省去很多繁雜的動畫處理。
1、打開flash,新建壹個文檔,畫布寬550px,高400px,幀頻率默認,舞臺背景顏色為黑色。
2、新建圖形元件,名稱命名為下雨,在這裏可以起中文名稱,在註冊點位置用直線繪制雨點,顏色為白色。新建影片剪輯元件,命名為雨點影片。用直線工具繪制細長雨點,再在第三十幀處按下快捷鍵 F6插入關鍵幀,將所在第三十幀的雨點向下方拖動壹段距離。在第壹幀至第三十幀時間軸添加動畫(運動)變化,然後添加運動引導層,畫壹條直線作為雨點飄落的路徑。在第壹幀上:把雨點圖形跟曲線頂部對齊,註意要把圖形的中心圓放在線條上;在最後壹幀上:把雨點圖形跟曲線底端對齊,形成了壹個雨點順著路徑運動的動畫。
3、回到場景中,把庫面板中的雨點影片剪輯元件拖拽到畫布中。在屬性面板上,把影片剪輯名稱命名為rain,這個必須以英文命名。再在第三十幀處按下快捷鍵F5插入幀。此目的是,和影片剪輯元件中的雨點落下的時間保持壹致,測試動畫即可。如動畫運動的大小跟畫面尺寸不壹致,可在雨點影片剪輯元件中進行調整。
4、動作面板有兩種編輯模式:標準模式和專家模式,可以在兩種模式之間進行切換。在標準模式的動作面板下,打開目錄雙擊語句,右邊的語句描述框中將顯示它的描述,這種模式比較適合初學者。在專家模式下,可以在編輯器中直接輸入動作腳本,比較適用於對動作腳本比較熟練的用戶。本文所用的代碼都是在標準模式下完成的。有些動作設置參數時,在壹些參數框右邊有壹個表達式復選框。對於這種參數,應該根據妳輸入的參數的類型決定是否要勾選此復選框。例如,我們使用Set Variable動作,給變量n賦值。如果妳給n提供的參數是壹個字符串常數,就不要勾選此復選框。反之,則要就要勾選該復選框。新建圖層2,在初始幀上設置動作。//設置變量n,值為1,n=1。
5、在第二層的第壹幀放上AS腳本,腳本如下:
C=1;
//定義變量C初值為1
在第二幀放上AS腳本,腳本如下:
function aa(){
//定義名稱為aa的function函數
duplicateMovieClip("mc",c,c);
//執行復制影片剪輯命令,在這裏出現的新名稱
setProperty(c,_x,random(550));
//設置各影片剪輯_X屬性,在550px以內的隨機
setProperty(c,_y,random(-100));
//設置各影片剪輯_Y屬性,在550px以內的隨機
updateAfterEvent();
c++;
//設置變量為遞增
}
kk=setInterval(aa,90);
//最後對aa函數,作周期循環。比如 90秒執行壹次(時間可自行設定),時間的大小可調節稀疏度的大小。
按Ctrl+Enter測試文檔,最終效果如圖1所示。(圖1)
主要參考文獻:
[1]柴孟華,李勝偉.深入淺出FLASH MX 2004動畫設計[M].北京:中國鐵道出版社,2006.
[2]方晨.操作與實例FLASH MX 2004中文版[M].上海:上海科學普及出版社,2004.
[3]齊錦剛,曹麗雲等.Flash MX 2004活學活用300問[M].北京:機械工業出版社,2005.
[4]李學進,楊微.Flash在教學中的應用[J].電腦學習,2006.2.
[5]章精設,繆亮等.Flash ActionScript 2.0編程技術教程[M].北京:清華大學出版社,2005.