羅 艷
成都東軟學院數字藝術系,四川成都 611844
基于Flash ActionScript 3.0的飛行射擊游戲制作
羅 艷
成都東軟學院數字藝術系,四川成都 611844
隨著Flash軟件的發展和強大的ActionScript 3.0面向對象語言的推出,使用Flash制作游戲變得可行,本文以一款飛行射擊類游戲制作為目標,采用Flash工具進行場景與游戲角色的制作,基于ActionScript 3.0語言進行程序設計,并對開發中所遇到的問題進行分析并予以解決。
Flash;游戲;ActionScript 3.0
飛行射擊游戲是最早發展的游戲類型之一,最著名的該種游戲應該是《雷電》,游戲玩家使用鍵盤來控制飛機戰斗,躲避敵人的攻擊,利用自己的武器消滅敵人,戰斗過程中能獲取一些武器或者防護工具,被敵人擊中會消耗生命值和能量值,最后出現大Boss,將其消滅后過關,關卡最后顯示玩家成績和本關信息。
Flash是一種當今網絡上最流行的交互式矢量動畫制作工具,具有出色的圖形處理能力和豐富的畫面表現力,優秀的交互性能又使它成為游戲制作的重要工具之一。用Flash制作的動畫及游戲,具有矢量圖形體積小,流媒體下載的特點使其更容易在網絡上傳播和應用,網頁游戲逐漸成為近年來的流行,Adobe公司的Flash Player憑借其全球97%的桌面電腦占有率和跨平臺的優勢,成為了事實上的下一代的RIA(Rich Internet Application,富互聯網應用程序)的主力。
ActionScript是Flash產品平臺的腳本解釋語言,它為Flash應用程序提供了強大的交互性和數據處理能力。該語言可以實現Flash中內容與內容,內容與用戶之間的交互。ActionScript的解釋工作由Action Virtual Machine(AVM)來解釋,AVM是Flash Player播放器中的一部分。ActionScript語句要想起作用是要通過Flash創作工具或Flex服務器將其編譯生成二進制代碼格式方可,而編譯過的二進制代碼格式將嵌入SWF文件,被Flash播放器執行。
早期的ActionScript語言主要用來控制幀的跳轉和鼠標、鍵盤交互,ActionScript的版本已經從1.0發展到至今的3.0,強大的ActionScript 3和支持ActionScript 3的新一代虛擬機AVM2,執行速度是之前版本ActionScript語言的10倍,并且ActionScript 3是一門面向對象的、具有業界標準素質的編程語言。
玩家飛機使用鍵盤的“上”“下”“左”“右”鍵來控制飛機的移動,shift鍵發射子彈,Space鍵是轟炸,游戲分為若干個關卡,每一關都有不同的地圖,難度逐漸加大,敵人飛機先后出場,玩家得在躲避敵人攻擊的同時選擇合理時機攻擊敵人,若有道具落下,則需要玩家接收,以增加自己的能量值,每個關卡最后會出現大Boss,努力將其消滅后過關,過關后顯示本關信息及玩家得分等信息。若在戰斗過程中玩家飛機中彈,則會以不同類型的攻擊減少生命值或能量值,生命值減少為0的時候玩家被消滅,游戲結束,每個敵機有一定的分值,被消滅后玩家得積分會增加。
游戲界面設計和音效設計在很大程度上會影響游戲的效果,該游戲使用Flash本身的繪圖工具箱制作了眾多類型的敵方部隊,豐富的游戲背景,多款子彈類型,和一些如爆炸等動畫效果;戰場使用外部的圖像資源導入到Flash中直接使用,有城市、大海、陸地、森林等。在音效方面,為每一個游戲關卡都設計了獨特的背景音樂,不會給玩家帶來重復的感覺,音效來自現成的游戲音效素材,如飛機飛行的聲音,爆炸聲,子彈發射的聲音等。部分效果如圖1所示。

圖1 部分角色及背景圖
該游戲有很多相關的角色,比如玩家、敵機、子彈、炮彈、Boss、道具等,這些對象有的是有共同點的,比如不同的敵機,不同的子彈等,可以根據這些共同點歸納出相應的類,然后從這些類中派生出新的類,同時添加各自特有的屬性和方法,從而可以創建出各具特色的角色和武器。
除了角色的類抽象之外,在游戲中還應該有很多通用的功能,比如鍵盤控制飛機的移動,子彈和飛機的碰撞檢測,生命和能量顯示條等,這些功能也封裝到一些專門的類中,集中管理。
在程序的框架中利用抽象出來的各種類之間相互交流和協作,完成了游戲的制作。
本文使用Flash圖形和動畫制作工具配合ActionScript 3.0語言,設計并制作了一寬簡單的飛行射擊游戲,中間遇到一些問題,比如動畫的制作怎么樣更加逼真好看,音效的選擇,程序的設計等,最終完成了一款效果不錯的飛行游戲。圖1中右邊為最終游戲效果圖。
[1]孫穎.Flash ActionScript 3殿堂之路.電子工業出版社,2007,9.
[2]喬珂.ActionScript3.0權威指南.電子工業出版社,2008,1.
[3]沈鈞,李慶.Flash CS3 ActionScript 3.0游戲開發基礎與范例.電子工業出版社,2008,4.
[4]張鵬.Flash CS4游戲開發教程.京華出版社,2010,6.
[5][美]Keith Peters著.蘇金國,荊濤,等譯.Flash ActionScript 3.0動畫高級教程.人民郵電出版社,2010,1.
TP31
A
1674-6708(2011)53-0169-02