◆顧鳳梅
(宿遷學院 江蘇 223800)
基于FL+FB的通用游戲框架設計與實現(xiàn)
◆顧鳳梅
(宿遷學院 江蘇 223800)
本文根據(jù)網絡上各種各樣的游戲,總結出其通用框架,并在FL和FB軟件中完成了游戲框架設計,根據(jù)其框架代碼,實現(xiàn)了并完成了游戲制作??梢詾橛螒蚓幊坛鯇W者提供了一定幫助,提高了游戲的開發(fā)效率。
FL+FB;框架;游戲;ActionScript3.0
隨著電子技術以及網絡的發(fā)展,無論是網絡游戲還是手機游戲隨處可見,游戲的框架基本上也是大同小異,本文就是總結了游戲的通用框架,并且利用FL和FB軟件,完成了框架的實現(xiàn),并以一個實例來實現(xiàn)。
FL+FB就是利用Flash和Flash Builder兩種軟件制作,F(xiàn)L重在設計,適合設計人員使用,而FB側重于腳本編程,適合開發(fā)人員使用,兩者側重點不一樣,游戲界面的設計使用 FL,ActionScript3.0代碼書寫,使用FB環(huán)境,先在FL中制作生成SWC文件,在FB中導入,代碼集能夠集中書寫,界面也容易修改。
不管是什么樣的游戲,譬如采金子游戲,大致都是三種狀態(tài),游戲開始界面、游戲得分界面、游戲運行界面,運行界面包括有得分,滿足一定的得分,回到得分界面進入下一關。如圖1所示,先是游戲開始界面,點擊開始,游戲開始,然后游戲得分界面,關卡,分數(shù)顯示,數(shù)秒后,進入游戲運行界面,若游戲失敗,可以退出游戲或者游戲重新開始,若是成功,則回到游戲得分界面,顯示下一關。
圖1 框架設計
以一個采花仙女游戲的實例來說明整個框架的設計和實現(xiàn),在FL中建立游戲開始界面、游戲得分界面和游戲運行界面,在庫中類名分別為StartScene、ScoreScene和GameScene。
游戲開始界面中START按鈕代碼為startBt.buttonMode=true,在庫中START為一個影片剪輯而不是按鈕,制作如圖2中START按鈕影片,拖放在游戲開始界面中命名為startBt。游戲開始界面如圖3開始界面設計,得分界面如圖4得分界面設計,游戲界面如圖5游戲界面設計,類名分別如圖各圖中所示,游戲界面有一個按鈕退出,名為 exitBt,在場景中制作好以后保存好以后再導出生成swc文件。
圖2 START按鈕影片剪輯
圖3 開始界面設計
圖4 得分界面設計
圖5 游戲界面設計
(1)在FB中創(chuàng)建ActionScrip項目,項目中導入先前在FL中創(chuàng)建的swc文件,然后在代碼進行書寫,首先要創(chuàng)建三個場景rStartScene,rScoreScene,rGameScene,開始時候默認三個場景不可見,運行到各個場景的時候才是可見的,創(chuàng)建開始場景使用代碼: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),顯示第幾關卡和要達到的目標分數(shù),界面如圖6游戲中得分場景。進入游戲界面,倒計時開始進行游戲,設定游戲定時器為rTimer,進入每一關卡,重新計時,新的計時開始,rTimer.reset();rTimer.start();完成每個關卡給定的目標分數(shù),就可以進入下一關,如果沒有完成相應的分數(shù),闖關失敗,進入開始界面,重新開始游戲,也可以點擊關閉,退出游戲。界面如圖7游戲進行中場景。游戲成功,回到游戲得分界面,游戲失敗,游戲退出,可以重新開始。
圖6 游戲中得分場景
圖7 游戲進行中場景
(3)完成的程序代碼在FB中完成,在窗口直接書寫ActionScript3.0代碼,不需要在FL中幀上來書寫,完整的框架代碼如下:
privatefunctionGameStart():void//得分場景,得分界面中,時間停頓3秒鐘
//游戲場景中,這個界面是最復雜的,闖關失敗,退出到開始界面,成功,進入下一關
以上是整個游戲的模塊框架代碼,適用于很多游戲,已應用于眾多的游戲。
本文總結了基于 FL+FB的通用游戲框架,在其他游戲制作中,可以直接利用游戲代碼框架進行設計,提高了游戲代碼的可重用性,減少了初學者在游戲程序設計開發(fā)的時間,也提高了游戲制作的效率。
[1] 賀曉霞,方寧.ActionScript3.0 編程特效實戰(zhàn)[M].北京:清華大學出版社,2010.
[2] 顧鳳梅.基于 Flash的幼兒教育游戲框架設計與實現(xiàn)[J].教育與教學研究,2013.
[3] 胡蓉,張東寧,朱栗華.Gary Rosenzweig. ActionScript 3.0游戲編程[M].北京:人民郵電出版社,2012.