◆顧鳳梅
(宿遷學院 江蘇 223800)
基于FL+FB的通用游戲框架設計與實現
◆顧鳳梅
(宿遷學院 江蘇 223800)
本文根據網絡上各種各樣的游戲,總結出其通用框架,并在FL和FB軟件中完成了游戲框架設計,根據其框架代碼,實現了并完成了游戲制作。可以為游戲編程初學者提供了一定幫助,提高了游戲的開發效率。
FL+FB;框架;游戲;ActionScript3.0
隨著電子技術以及網絡的發展,無論是網絡游戲還是手機游戲隨處可見,游戲的框架基本上也是大同小異,本文就是總結了游戲的通用框架,并且利用FL和FB軟件,完成了框架的實現,并以一個實例來實現。
FL+FB就是利用Flash和Flash Builder兩種軟件制作,FL重在設計,適合設計人員使用,而FB側重于腳本編程,適合開發人員使用,兩者側重點不一樣,游戲界面的設計使用 FL,ActionScript3.0代碼書寫,使用FB環境,先在FL中制作生成SWC文件,在FB中導入,代碼集能夠集中書寫,界面也容易修改。
不管是什么樣的游戲,譬如采金子游戲,大致都是三種狀態,游戲開始界面、游戲得分界面、游戲運行界面,運行界面包括有得分,滿足一定的得分,回到得分界面進入下一關。如圖1所示,先是游戲開始界面,點擊開始,游戲開始,然后游戲得分界面,關卡,分數顯示,數秒后,進入游戲運行界面,若游戲失敗,可以退出游戲或者游戲重新開始,若是成功,則回到游戲得分界面,顯示下一關。

圖1 框架設計
以一個采花仙女游戲的實例來說明整個框架的設計和實現,在FL中建立游戲開始界面、游戲得分界面和游戲運行界面,在庫中類名分別為StartScene、ScoreScene和GameScene。
游戲開始界面中START按鈕代碼為startBt.buttonMode=true,在庫中START為一個影片剪輯而不是按鈕,制作如圖2中START按鈕影片,拖放在游戲開始界面中命名為startBt。游戲開始界面如圖3開始界面設計,得分界面如圖4得分界面設計,游戲界面如圖5游戲界面設計,類名分別如圖各圖中所示,游戲界面有一個按鈕退出,名為 exitBt,在場景中制作好以后保存好以后再導出生成swc文件。

圖2 START按鈕影片剪輯

圖3 開始界面設計

圖4 得分界面設計

圖5 游戲界面設計
(1)在FB中創建ActionScrip項目,項目中導入先前在FL中創建的swc文件,然后在代碼進行書寫,首先要創建三個場景rStartScene,rScoreScene,rGameScene,開始時候默認三個場景不可見,運行到各個場景的時候才是可見的,創建開始場景使用代碼:rStartScene=new StartScene();rStartScene.visible= false;this. add Child(rStartScene);開始游戲的時候,只有開始場景可見,其他不可見,到其他場景切換類推,對游戲得分場景和游戲場景也是同樣代碼。對開始按鈕和退出按鈕,設置偵聽mStart和mExit事件,開始按鈕代碼如:rStartScene.startBt.addEvent
Listener(MouseEvent.CLICK,mStart);退出按鈕代碼為rGameScene.exitBt.addEventListener(Mouse Event.CLICK,mExit);
(2)在開始場景界面中點擊START進入得分界面場景,停頓六秒setTimeout(goGame,6000),顯示第幾關卡和要達到的目標分數,界面如圖6游戲中得分場景。進入游戲界面,倒計時開始進行游戲,設定游戲定時器為rTimer,進入每一關卡,重新計時,新的計時開始,rTimer.reset();rTimer.start();完成每個關卡給定的目標分數,就可以進入下一關,如果沒有完成相應的分數,闖關失敗,進入開始界面,重新開始游戲,也可以點擊關閉,退出游戲。界面如圖7游戲進行中場景。游戲成功,回到游戲得分界面,游戲失敗,游戲退出,可以重新開始。

圖6 游戲中得分場景

圖7 游戲進行中場景
(3)完成的程序代碼在FB中完成,在窗口直接書寫ActionScript3.0代碼,不需要在FL中幀上來書寫,完整的框架代碼如下:


privatefunctionGameStart():void//得分場景,得分界面中,時間停頓3秒鐘

//游戲場景中,這個界面是最復雜的,闖關失敗,退出到開始界面,成功,進入下一關

以上是整個游戲的模塊框架代碼,適用于很多游戲,已應用于眾多的游戲。
本文總結了基于 FL+FB的通用游戲框架,在其他游戲制作中,可以直接利用游戲代碼框架進行設計,提高了游戲代碼的可重用性,減少了初學者在游戲程序設計開發的時間,也提高了游戲制作的效率。
[1] 賀曉霞,方寧.ActionScript3.0 編程特效實戰[M].北京:清華大學出版社,2010.
[2] 顧鳳梅.基于 Flash的幼兒教育游戲框架設計與實現[J].教育與教學研究,2013.
[3] 胡蓉,張東寧,朱栗華.Gary Rosenzweig. ActionScript 3.0游戲編程[M].北京:人民郵電出版社,2012.