電影剪輯在flash中可以說是使用最多的一種元件了,那么對于它的AS也是不少,
影片剪輯的Action編寫規(guī)則
。在講解之前,我還是要重新說一下電影剪輯AS的編寫規(guī)則,和上次講按鈕一樣,分為兩種,一種是寫在電影剪輯本身上,一種是寫在時間軸上面。
一、首先咱們先來做個簡單的小例子。(點擊這里下載源文件。)
或許你不用AS就能做出一個小球的移動動畫。但是如果讓你用AS來實現小球的移動呢?下面來看看如何用AS來實現吧。
在這個例子里,你首先會了解到如何在電影剪輯本身上編寫AS,以及編寫規(guī)則。
1、 新建立一個電影剪輯元件,里面你就隨便畫一個圓吧。之后把這個影片剪輯拖放到舞臺之中(也就是創(chuàng)建一個此影片剪輯的實例)。
2、 現在開始編寫腳本,選中這個MC,按F9打開動作面板,按照圖顯示選擇onClipEvent,之后在顯示的事件中選擇enterFrame,然后在里面編寫腳本如下:
this._x+=5
這個腳本編寫之后應該是:
onClipEvent (enterFrame) {// enterFrame的意思是以影片幀不斷地觸發(fā)此動作
this._x += 5; //this代表這個影片剪輯自身。_x表示影片剪輯的X軸坐標。
}
呵呵,按下你的ctrl+回車測試一下吧,一個簡單的移動動畫就搞定了。
從這個例子咱們不難看出,如果把AS寫在影片剪輯本身上,那么它是有自己的書寫格式的。正確的書寫格式就是:
onClipEvent (事件) {
//需要執(zhí)行的腳本程序
}
這個可以看成是公式,你記住就行了,是寫在影片剪輯身上的。括號里的“事件”其實是個觸發(fā)器,當事件發(fā)生時,執(zhí)行該事件后面花括號中的語句。,具體有哪些事件,我把它們都列出來。
- load 影片剪輯一旦被實例化并出現在時間軸中時,即啟動此動作。
- unload 在從時間軸中刪除影片剪輯之后,此動作在第一幀中啟動。處理與 Unload 影片剪輯事件關聯(lián)的動作之前,不向受影響的幀附加任何動作。
- enterFrame. 以影片幀頻不斷地觸發(fā)此動作。
- mouseMove 每次移動鼠標時啟動此動作。_xmouse 和 _ymouse 屬性用于確定當前鼠標位置。
- mouseDown 當按下鼠標左鍵時啟動此動作。
- mouseUp 當釋放鼠標左鍵時啟動此動作。
- keyDown 當按下某個鍵時啟動此動作,
電腦資料
《影片剪輯的Action編寫規(guī)則》(http://www.lotusphilosophies.com)。使用 Key.getCode 方法獲取最近按下的鍵的有關信息。- keyUp 當釋放某個鍵時啟動此動作。使用 Key.getCode 方法獲取最近按下的鍵的有關信息。
- data 當在 loadVariables 或 loadMovie 動作中接收數據時啟動此動作。當與loadVariables 動作一起指定時,data 事件只發(fā)生一次,即加載最后一個變量時。當與loadMovie 動作一起指定時,獲取數據的每一部分時,data 事件都重復發(fā)生。
了解了事件之后,你可以自己試著修改一下腳本,如果讓你們點一下鼠標,舞臺上的圓就移動一下,該怎么做呢?
關于把AS寫在影片剪輯本身的例子先講到這,下面來看看如果把AS寫在時間軸上面的話,應該怎么寫。
首先你把剛才的腳本去掉。然后需要為這個影片剪輯實例起一個名字,比如起名為mc
在選中時間軸的第一楨,打開動作面板,輸入以下腳本:
mc.onenterframe. = function() {
this._x += 5; //你也可以把這句改為mc._x+=5 自己想一下為什么。
};
顯而易見,在時間軸上的寫法就應該套用以下公式:
實例名.事件名稱=function(){
//腳本程序
需要注意的是,這種寫法的事件名稱不要忘了在前面加一個on,比如,事件如果是enterframe的話,你就應該寫成onenterframe
下面簡單說一下影片剪輯的屬性。比如,影片剪輯有自己的X、Y軸坐標,有自己的透明度(_alpha),這些都是它的屬性。
那么如何使用這些屬性呢?你可以使用“點”語法來對屬性進行設置。
把上面的腳本修改一下。
mc.onenterframe. = function() {
mc._x += 5;
mc._alpha = random(100);
};
這里我加了一句this._alpha = random(100),它是設置影片剪輯的透明度的,使用的語句就是_alpha。后面的random()函數是隨機選取一個100以內的數字作為它的透明度。從這個句子可以看出,“點”語法使用方法就是:實例名.屬性(mc._alpha),你甚至可以簡單理解為“點”就是“的”,那么this._alpha這句你就可以理解為:影片剪輯mc的透明度
上面的腳本mc._alpha = random(100)也可以改為_root. mc._alpha = random(100)
那么,你就可以理解為:舞臺上的影片剪輯mc的透明度是隨機選擇100內的值。
關于影片剪輯的AS基本編寫規(guī)則就說到這里,以后在具體的例子當中相信會更深刻的理解。