王 娟
(阜新高等專科學(xué)校,遼寧 阜新 123000)
【學(xué)術(shù)研究】
如何利用ActionScript3.0技術(shù)制作Flash動(dòng)畫
王 娟
(阜新高等??茖W(xué)校,遼寧 阜新 123000)
ActionScript3.0是Flash自帶的腳本語(yǔ)言,能使制作的Flash動(dòng)畫更加豐富多彩.為讓使用者進(jìn)一步了解Flash腳本的使用方法,通過(guò)具體實(shí)例,介紹了利用ActionScript3.0技術(shù)制作具有特殊效果的Flash動(dòng)畫的編程技巧,使制作出的動(dòng)畫靈動(dòng)、有趣,提高了作品的吸引力.
Flash;ActionScript3.0;動(dòng)畫
Flash軟件是一款功能強(qiáng)大的矢量動(dòng)畫制作軟件,由Adobe公司出品,具有體積小、兼容性強(qiáng)、圖形質(zhì)量高、交互性強(qiáng)等優(yōu)點(diǎn),并采用了流技術(shù),便于網(wǎng)絡(luò)傳播,受到了廣大網(wǎng)友的青睞,在網(wǎng)頁(yè)設(shè)計(jì)、新媒體廣告、動(dòng)畫制作、游戲開發(fā)以及多媒體課件制作等各領(lǐng)域得到了廣泛的應(yīng)用.Flash不僅能制作出專業(yè)的二維動(dòng)畫,而且強(qiáng)大的交互能力在教學(xué)中也得到廣泛的應(yīng)用,有很多教師利用Flash制作課件或小游戲,寓教于樂(lè),得到了學(xué)生的喜愛(ài),還有不少學(xué)生也加入到了Flash制作的行列.Flash腳本就是我們最初在制作Flash動(dòng)畫時(shí)在開始幀、結(jié)束幀或某個(gè)按鈕上加的代碼,如stop();、play();、gotoAndPlay(1,“場(chǎng)景2”);等等,這其實(shí)就是Flash早期的腳本,只是我們對(duì)腳本的了解不夠深入,使用得相對(duì)較少.為了讓腳本使我們的Flash作品質(zhì)量進(jìn)一步提升,本文對(duì) ActionScript腳本語(yǔ)言進(jìn)行研究.
ActionScript編程語(yǔ)言是Adobe公司專為Flash設(shè)計(jì)的交互性腳本語(yǔ)言,是一種面向?qū)ο蟮木幊陶Z(yǔ)言[1].ActionScript的中文翻譯是“動(dòng)作腳本”[2],簡(jiǎn)稱AS.AS和 Java 一樣,是基于 ECMAScript(編程語(yǔ)言的國(guó)際規(guī)范化的語(yǔ)言) 開發(fā)的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它的類庫(kù)豐富多樣,功能很強(qiáng)大,主要用于控制播放、數(shù)據(jù)顯示、交互功能、動(dòng)態(tài)網(wǎng)頁(yè)、實(shí)用性開發(fā)和虛擬實(shí)驗(yàn)等[3].
隨著Flash軟件版本的不斷更新,F(xiàn)lash的腳本從ActionScript1.0 、ActionScript2.0更新到現(xiàn)在的ActionScript3.0.AS3是針對(duì) Flash Player運(yùn)行時(shí)環(huán)境的編程語(yǔ)言,它用于處理各種人機(jī)交互、數(shù)據(jù)交互等,與ActionScript2.0以前的版本有本質(zhì)上的區(qū)別[4].原來(lái),AS2代碼可以寫在幀上、按鈕上或影片剪輯,但過(guò)于分散,修改麻煩,維護(hù)工作量大,執(zhí)行效率低,而在AS3文檔中,代碼編寫更加規(guī)范,只能寫在幀上,對(duì)實(shí)例的控制是依靠實(shí)例名來(lái)完成的.正是由于 ActionScript 3.0 的高效和面向?qū)ο蟮奶匦?,使?ActionScript 在很多領(lǐng)域得到廣泛應(yīng)用[5].
本文以海底不斷升起泡泡的動(dòng)畫特效為例,制作一個(gè)含ActionScript腳本和as文件的實(shí)例,效果如圖1.
2.1 設(shè)置文檔并制作元件
新建Flash文件,保存為“泡泡.fla”.設(shè)置文檔與將要導(dǎo)入的背景同一尺寸,將“舞臺(tái)顏色”設(shè)置為黑色,“幀頻”設(shè)置為“30”.導(dǎo)入海底背景圖像,新建名為MoveBall的影片剪輯元件,繪制45像素的圓,無(wú)邊框.如圖1,將Alpha值設(shè)置為80%.在“庫(kù)”面板中選中MoveBall元件,單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”命令,設(shè)置高級(jí)屬性如圖2所示,選中“ActionScript導(dǎo)出”和“在第一幀導(dǎo)出”復(fù)選框.
2.2 新建ActionScript文件
新建“ActionScript文件”,與“泡泡.fla”文件保存在同一目錄下.將如下代碼輸入并保存為MoveBall.as.
package
import flash.display.Sprite;
import flash.events.Event;
public class MoveBall extends Sprite
{
private var yspeed:Number;
private var W:Number;
private var H:Number;
private var space:uint = 10;
public function MoveBall(yspeed:Number,w:Number,h:Number)
{
this.yspeed = yspeed;
this.W = w;
this.H = h;
init();
}
private function init()
{
this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
private function enterFrameHandler(event:Event)
{
this.y -= this.yspeed/2;
if(this.y<-space)
{
this.x = Math.random()*this.W;
this.y = this.H + space;
}
}
}
}
2.3 在Flash文件“泡泡.fla”中添加代碼
返回“泡泡.fla”文件主場(chǎng)景,新建圖層2,命名為“as”,選擇該圖層第1幀,按F9鍵打開“動(dòng)作”面板,輸入如下代碼:
var W = 560, H = 240,speed = 2;
var container:Sprite = new Sprite();
addChild(container);
var Num = 30;
for(var i:uint=0;i { speed = Math.random()*speed+2; var boll:MoveBall = new MoveBall(speed,W,H); boll.x=Math.random()*W; boll.y=Math.random()*H; boll.alpha = .1+Math.random(); boll.scaleX =boll.scaleY=Math.random(); container.addChild(boll); } 保存文件并測(cè)試影片.本實(shí)例僅僅嘗試了一種特效的制作方法,還可對(duì)元件作修改,制成類似的其他不同形式的特效,或者嘗試制作更多的動(dòng)畫效果,ActionScript腳本還有待于我們共同探索和鉆研.在學(xué)習(xí)的過(guò)程中,我們可以利用提取Flash腳本的軟件將Flash動(dòng)畫中的腳本提取出來(lái),進(jìn)行學(xué)習(xí)或探討,如碩思閃客精靈、Action Script Viewer、Flash Decompiler Trillix等反編譯軟件,均可以生成清晰的ActionScript代碼,但在使用時(shí)要注意保護(hù)原作者的權(quán)益,創(chuàng)新應(yīng)用是更好的選擇. 在Flash動(dòng)畫制作過(guò)程中,很多人一直停留在初級(jí)的動(dòng)畫制作階段,沒(méi)有信心和耐心學(xué)習(xí)腳本,其實(shí)動(dòng)作腳本只是一個(gè)簡(jiǎn)單的程序,稍加運(yùn)用就可以讓你的Flash動(dòng)畫更加靈動(dòng)、有趣,建議大家花一點(diǎn)時(shí)間去探索并嘗試AS3腳本,讓Flash帶給我們更多的樂(lè)趣. [1]李雪芹,王智偉.巧用ActionScript語(yǔ)言制作單選題自動(dòng)評(píng)分系統(tǒng)[J].電腦知識(shí)與技術(shù),2016,(1):90-93. [2]史少飛.計(jì)算機(jī)動(dòng)畫設(shè)計(jì)——Flash[M].北京:高等教育出版社,2003. 123-124. [3]姚競(jìng)英.基于ActionScript的音樂(lè)播放器的研究[J].湖南郵電職業(yè)技術(shù)學(xué)院學(xué)報(bào),2016,(9):33-35. [4]黎紅.基于ActionScript3.0的游戲設(shè)計(jì)與實(shí)現(xiàn)[J].廣東培正學(xué)院論叢,2016,(12):67-71. [5] 汪衛(wèi)平,袁芳.基于ActionScript 3.0的Flash動(dòng)畫設(shè)計(jì)與制作[J].軟件,2014,35(7):121-125. (審稿人 李樹東 朱維佳,責(zé)任編輯 于 海) How to make the Flash animation by using Actionscript3.0 WANG Juan (Fuxin Higher Training College, Fuxin Liaoning 123000) ActionScript3.0 is a scripting language that comes with Flash, which can make Flash animations richer and more colorful. For the users to further understand the using method of Flash scripting,this paper introduces the programming skills of Flash animation with the special effects using ActionScript 3.0 by the specific examples, which makes the animation vivid and inferesting and improves the attractiveness of works. Flash; ActionScript3.0; animation 2017—01—20 王娟(1978-),女,遼寧阜新市人,講師,主要從事計(jì)算機(jī)教學(xué)研究. TP312 A 1008-5688(2017)01-0027-023 結(jié)語(yǔ)