黃淑玲
摘 要: 將引導(dǎo)動畫或補(bǔ)間動畫和面向?qū)ο竽_本編程語言Actionscript3.0、數(shù)據(jù)標(biāo)記語言XML制作的類結(jié)合起來,創(chuàng)建基于Actionscript3.0自定義路徑動畫類。使制作的路徑可重復(fù)使用。而且該方法具有一定的通用性,可適用于任何需要重復(fù)使用的動畫或步驟。
關(guān)鍵詞: Actionscript3.0; XML; 動畫類; flash
中圖分類號:TP319 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2016)04-68-02
Designing custom path animation classes with Actionscript3.0
Huang Shuling
(School of physics and electronic engineering, Hanshan Normal University, Chaozhou, Guangdong 521000, China)
Abstract: Combining Guide animation or Tween animation with the classes made by Actionscript3.0 or XML, creates the custom path animation classes with Actionscript3.0 and makes the produced path reusable. The method is universal and can be applied to any animation or step that needs to be reused.
Key words: Actionscript3.0; XML; animation class; flash
0 引言
Flash Actionscript3.0完全是一個面向?qū)ο蟮哪_本編程語言。Flash Player API是Flash Actionscript3.0的主要組成部分。Flash Player API是由一系列用于實(shí)現(xiàn)特定功能的flash player類組成。除了系統(tǒng)自帶的類,用戶還可以自己編寫類,可以提高代碼的安全性和利用率。
flash是一個制作動畫的軟件[1],所以對象的運(yùn)動路徑是一個比較重要的部分。Flash中有幾種制作動畫類型,其所制作的運(yùn)動路徑只能是直線,比如傳統(tǒng)補(bǔ)間動畫、補(bǔ)間形狀動畫。但其實(shí)很多動作或運(yùn)動路徑都不是直線的。而且很多動作或運(yùn)動路徑是需要重復(fù)使用的,比如動漫片中的某個人物或動物的動作及運(yùn)動路徑。引導(dǎo)動畫和補(bǔ)間動畫雖能夠制作出任意運(yùn)動路徑,但制作的路徑只能使用一次。將引導(dǎo)動畫或補(bǔ)間動畫和Actionscript3.0、XML制作的類結(jié)合起來,創(chuàng)建基于Actionscript3.0自定義路徑動畫類,使制作的路徑可重復(fù)使用。
XML作為通用的數(shù)據(jù)描述語言,可用XML將復(fù)雜的動作路徑進(jìn)行描述,便于實(shí)現(xiàn)數(shù)據(jù)的共享和數(shù)據(jù)傳輸。而flash能夠方便對XML數(shù)據(jù)進(jìn)行加載,并使用Animator類來解析、播放,特別在遇到無法用數(shù)學(xué)算法進(jìn)行定義的動畫路徑時,Actionscript3.0 XML動畫是一種簡單的行之有效的方法。
1 動畫類的設(shè)計(jì)
將一種路徑制作成一個類,所有路徑存放在一個文件夾中封裝成一個包。動畫類結(jié)構(gòu)圖如圖1,動畫類流程圖如圖2。
[動畫類1 動畫類2 ……
][包:]
[加載XML數(shù)據(jù)][新建Actionscript實(shí)例][播放Actionscript實(shí)例]
2 實(shí)現(xiàn)步驟
⑴ 獲取路徑
可以利用引導(dǎo)動畫或者補(bǔ)間動畫獲取路徑,不像傳統(tǒng)補(bǔ)間動畫或補(bǔ)間形狀動畫的路徑是直線的,引導(dǎo)動畫和補(bǔ)間動畫的路徑可以用任意的繪圖工具畫出各種運(yùn)動路徑。引導(dǎo)動畫是直接在引導(dǎo)層中畫出運(yùn)動路徑;而補(bǔ)間動畫允許在該層上編輯修改原來的路徑,但不能直接在上面重新畫出新的路徑。假如需要重新畫出一條新的路徑,則可以在其他層中畫出一條合適的路徑,然后復(fù)制粘貼到補(bǔ)間動畫層中,就能夠直接代替原來的路徑。例如,用引導(dǎo)動畫制作出如圖3的運(yùn)動路徑。
制作完相應(yīng)的軌跡動畫后,在圖層的時間軸上右擊選擇“將動畫復(fù)制為Actionscript3.0……”。并要求輸入實(shí)例名稱,比如輸入:lj。那么該運(yùn)動軌跡動畫就轉(zhuǎn)換為一段XMl數(shù)據(jù)。因此只要在flash文件中使用這些Actionscript代碼,就可以使用該運(yùn)動軌跡。
⑵ 新建類
在Actionscript3.0中,由于遵循面向?qū)ο缶幊痰母拍?,不能直接在時間軸上寫代碼,而是通過相應(yīng)的類來實(shí)現(xiàn)所需的功能。我們將一種運(yùn)動軌跡制作成一個類[2]。新建一個as文件lujing1.as。將其存放在lujing\目錄下。
package lujing {
import fl.motion.Animator;
import flash.display.MovieClip;
public class lujing1 extends MovieClip {
private var lj_xml:XML;
private var lj_animator:Animator;
public function lujing1 (){};
public function go (target:MovieClip) {
lj_xml =
lj_animator= new Animator(lj_xml, target);
lj_animator.play();
}
}
}
⑶ 在flash文件中應(yīng)用
只需新建前面自定義路徑動畫類的實(shí)例,然后調(diào)用go(影片剪輯元件)方法,就能將運(yùn)動軌跡應(yīng)用于任一影片剪輯元件中。
將前面的運(yùn)動路徑應(yīng)用在云彩中,不管云彩影片剪輯元件放在什么位置,都按照剛才的路徑走。應(yīng)用效果如圖4所示。
import lujing.*;
var couldmove:lujing1=new lujing1();
couldmove.go(could);
3 結(jié)束語
本文介紹的自定義路徑動畫類的設(shè)計(jì)方法具有一定的通用性,可以很方便地創(chuàng)建自定義動畫類??蓪⑦@種方法應(yīng)用到各種動畫制作中。凡是需要重復(fù)使用的動畫或步驟,都可以使用這種方法將其制作為類,再將它應(yīng)用到所需的對象中,可以一次制作多次使用,提高了設(shè)計(jì)的效率和應(yīng)用的統(tǒng)一性。
參考文獻(xiàn)(References):
[1] 劉歡.Flash Actionscript 3.0全站互動設(shè)計(jì)[M].人民郵電出版
社,2014.
[2] 王亦工.Flash CS6實(shí)例教程[M].電子工業(yè)出版社,2014.