鄺健全
摘要:文章闡述了Flash里的三種補間動畫,三種元件,遮罩動畫和傳統運動引導層動畫,逐幀動畫和按鈕的運用。
關鍵詞:Flash;元件;遮罩動畫;傳統運動引導層動畫;逐幀動畫;按鈕
中圖分類號:TP37? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)27-0120-02
如果想要實現二維動畫的效果,有人會說Office里的PowerPoint也可以做得到。比如說文字的滾動推出,圖片的旋轉變大等等這些簡單的平面動畫效果,還可以搭配一些簡單的聲音效果。但是如果想要一些復雜的、特別的動畫效果,那就需要功能強大一些,專業性和針對性也需要強大一些的軟件,Flash就能很好地滿足這些要求。Flash由于專業性強,操作復雜,初學者一般不容易掌握。現在由我來說怎么樣才能快速學好Flash并加以靈活運用。
1 Flash的幾個基本概念
首先需要理解常用的幾個概念。Flash里常用的補間動畫有三種:第一種是補間動畫,第二種是補間形狀,第三種是傳統補間。創建補間動畫和傳統補間的前提條件是元件,而元件又有三種類型,第一類是圖形元件,第二類是影片剪輯元件,第三類是按鈕元件。其次所有的補間運動都是簡單的運動。如果想要實現復雜一點的動畫則可以使用遮罩動畫、傳統運動引導層動畫和逐幀動畫等等。再次按鈕是含有觸發事件的元件,觸發事件簡單地說就是鼠標經過或者單擊按鈕,按鈕會改變顏色或者運動起來或者發出聲音或者引起其他運動等等這些效果之一或者好幾個效果的結合。
2 嵌套運動
如果想要實現一個藍色小球從左往右直線滑過去,使用簡單的補間動畫就可以做得到。但是如果想要實現一個藍色小球從左往右滾動過去,那么需要嵌套運動才可以做得到。首先在場景的左面畫一個藍色的小球,將藍色小球轉換為圖形元件,接著再轉換為影片剪輯元件。在場景里雙擊影片剪輯,在影片剪輯的時間軸第40幀里插入關鍵幀,然后在第1幀和第40幀中間添加傳統補間動畫,動畫類型為順時針旋轉2圈。返回場景里在第40幀里插入關鍵幀,將藍色小球移動到場景的右面,中間添加傳統補間動畫。解釋一下這么做的結果是影片剪輯元件里藍色小球在40幀時間里原地順時針旋轉2圈,場景里藍色小球從左往右直線滑動。最后的效果就是這兩項運動的結合,即藍色小球從左往右滾動過去。
3 遮罩動畫
Flash里的遮罩動畫是很重要的一種動畫效果。可以這樣理解:就是透過一塊穿了孔的板觀看板后面的畫面,板后面的畫面可以運動,穿了孔的板可以運動,并且孔也可以變化運動,從而產生千變萬化的動畫效果。運用遮罩運動來實現展開一幅國畫的動畫效果,首先在場景第一層導入一張國畫,國畫下面有白色的紙張和橙色的畫布,把這一層作為被遮罩層。新建一層作為遮罩層,遮罩層的第1幀畫一個高度可以覆蓋國畫但是寬比較小的矩形形狀,第100幀畫一個撐滿左右場景的矩形形狀,中間添加補間形狀動畫。新建一層畫一個畫軸靠左,首先將畫軸轉換為圖形元件,在第100幀插入普通幀。再次新建一層放之前的畫軸但是靠右一點,在第100幀插入關鍵幀,將畫軸移動到場景的右面,中間添加傳統補間動畫。最后的結果是隨著畫軸的右軸慢慢向右移動,國畫的畫面也慢慢地向右展開。
4 逐幀動畫
補間動畫的軌跡都是直線,但是現實生活中很多運動都不是直線運動,為了解決這個問題,Flash使用傳統運動引導層動畫來解決這種不走直線的問題。傳統運動引導層相當于軌道,軌道繪成曲線則可以實現曲線運動。現實生活中還有很多運動不是直線運動或者曲線運動,比如說人走路,豬、馬和羊奔跑,小鳥在天上飛這些復雜的運動。為了解決這個問題,Flash使用逐幀動畫來解決。像人走路這種情況,具體操作是連續每一幀都繪畫人在走路的連貫的靜態畫面。第1幀繪制人提左手,邁右腿。第2幀左手提高一點,右腿邁得大一些,身體向前傾一些。第3幀左手提得最高,右腿邁得最大,身體再向前傾一些。第4幀是左手回收,右腿也是回收,身體再向前傾一些。第5幀左手垂下,右腳底全部著地,重心在右腳,左腿向前曲,準備邁左腳。后面5幀就是將前面5幀的左手和右腿換成右手和左腿。每1幀都是靜止的畫面,但是Flash在測試或者導出影片人們觀看時就會感覺他在走路一樣,因為人眼有視覺上的短暫停留。通俗地說就是人眼觀察物體的時候,當光信號傳入大腦時,需要經過一段短暫的時間,而光的作用結束后,視覺形象并不會立即消失。
5 圖形和影片剪輯的區別
圖形元件和影片剪輯元件都是元件,也都有時間軸,它們之間有什么區別呢?首先圖形元件可以改變它的顏色,調整透明度等。而影片剪輯除了可以改變顏色和調整透明度這些效果之外,還有濾鏡效果,比如說發光或者模糊的濾鏡效果。其次圖形元件盡管在它的時間軸里做了動畫效果,然而在場景里只有一幀的話它是不會動的;但是影片剪輯則不一樣,場景里只有一幀它也會動起來。
6 按鈕的觸發動畫
6.1按鈕控制場景和影片剪輯動畫的停止
按鈕可以控制場景里的時間軸動畫停止,也可以控制影片剪輯的動畫停止。在按鈕上添加的語句分別是on(press){stop():}和on(press){Object(this).ball.stop():}。控制影片剪輯多了Object(this).ball.這個語句,在添加按鈕上面的語句之前需要對影片剪輯命名為ball這個變量名。變量名和影片剪輯的名稱是兩件不一樣的事,不能互相使用,一般來說用到動作才需要使用變量名。
6.2按鈕改變影片剪輯的各種屬性
通過單擊按鈕可以改變影片剪輯的位置、大小、旋轉的方向、透明度、可見性、質量甚至顏色,主要是通過setProperty(目標,屬性,值)這個函數來實現。具體操作是繪制一個按鈕,一個變量名為ufo的影片剪輯,通過單擊按鈕來改變ufo的各種屬性。在按鈕上添加動作,具體語句是on (release) {setProperty(ufo, _x, getProperty("ufo", _x)-20);},第一個ufo是setProperty里的目標,第一個_x就是指ufo的橫坐標。后面還有一個getProperty(目標,屬性),為什么需要用到getProperty這個函數,是因為最后設置ufo位置時它不是固定為100的坐標,它是變化的,所以需要先獲取ufo的橫坐標,取得它橫坐標的值后再減去20,結果就是ufo往左移動了20個像素的距離。