999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的飛行射擊游戲的設計與實現

2014-07-02 01:42:32郭一晶吳文樹
微型電腦應用 2014年6期
關鍵詞:游戲系統設計

郭一晶,吳文樹

基于Android的飛行射擊游戲的設計與實現

郭一晶,吳文樹

運用Android手機開發的技術,結合基本游戲開發原理,設計與實現飛行射擊的游戲。首先,介紹了開發平臺,接著,對游戲進行需求分析和總體設計,設定游戲架構為MVC模式,分為圖形繪制系統、數據同步系統、碰撞檢測系統、自動射擊系統和用戶輸入系統。最后,重點介紹了游戲各個子系統的設計、核心算法和游戲代碼的優化。

飛行射擊;游戲開發;Android

0 引言

隨著手機行業的不斷發展,手機硬件性能的不斷增強,手機軟件系統的不斷完善,手機功能越來越豐富,最早只能用于通信,后來可以播放音樂、瀏覽網站、玩一些簡單的游戲,直至今日可以播放視頻,甚至玩大型的游戲,手機已然成為集合通信功能與娛樂功能為一體的設備。在此背景下,許多人投入了手機游戲開發的熱潮之中。

1 開發平臺簡介

1.1 Android系統簡介

安卓操作系統Android平臺是谷歌收購Android公司后于2007年11月5日正式公布的一款手機操作系統平臺,Android基于Linux內核,采用了軟件疊層的架構,其架構如圖1所示[1]:

圖1 Android結構

1.2 開發環境簡介-Android SDK

SDK(software development kit)是軟件開發的工具包,被軟件開發工程師用于為特定的軟件包、軟件框架、硬件平臺和操作系統等建立應用軟件的開發工具的集合。因此,Android SDK指Android專屬的軟件開發工具包[2]。

1.3 開發工具簡介-Eclipse

Eclipse是一個開放源代碼的、基于 Java 的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。

2 需求分析

2.1 游戲系統需求

游戲中包含 5個系統:圖形繪制系統,數據同步系統,碰撞檢測系統,自動射擊系統和用戶輸入系統。圖形繪制系統即圖形渲染系統,是在視圖層,主要把所有的視圖元素繪制在屏幕上,這是游戲的核心。數據同步系統是視圖層與模型層之間的一個接口,保持圖形層繪制最新的數據,減少游戲延遲,從而提高游戲體驗。碰撞檢測系統是檢測游戲中的各種碰撞情況,對于飛行射擊類游戲來說,這個系統必不可少。自動射擊系統是指一進入游戲,主角飛機就自動不斷釋放子彈,因為是開發觸屏手機上的游戲,如果頻繁按射擊鍵會很不方便。用戶輸入系統主要包含了大方向盤和兩個小按鈕的事件反應,還有各個界面的按鈕事件處理,大方向盤上觸摸的位置不同會產生不同方向的按鈕效果。

2.2 游戲細節需求

為了增加游戲趣味性,游戲中需設計一些小系統,包括怒氣系統,炸彈系統,特效系統和道具系統。怒氣系統指當玩家擊落對方敵機的時候會活的一定怒氣,有了怒氣可以使用一個怒氣技能,該怒氣技能會釋放出兩個螺旋鐮刀,鐮刀碰到屏幕兩邊會反彈,鐮刀可以攻擊敵人。炸彈系統指釋放一次強大的爆炸,讓屏幕內的所有地方子彈都消失,該技能允許玩家在來不及躲避敵人子彈時自救。特效系統主要體現在游戲畫面上,敵人飛機被擊落時會發生爆炸,要在相應位置播放一個爆炸特效,玩家釋放怒氣攻擊時會在主角飛機上播放一段閃光的特效,讓玩家清楚知道使用了怒氣攻擊,玩家釋放炸彈時在主角飛機上播放一段類似保護層的光圈效果,目的是為了增加視覺享受。道具系統指游戲內玩家主角飛機可以使用3種不同類型的子彈,每種子彈有3個不同的火力等級,對應的游戲中會出現3種不同類型的道具,玩家獲得道具后就可以提升火力等級或者改變子彈的種類。

3 飛行射擊游戲的實現

3.1 操作設計

游戲采用的操作為傳統的操作方式,控制方向的按鈕共8個,上、下、左、右、右上、左上、右下和左下。另外還有2個按鈕鍵,一個是蓄力攻擊按鈕,另一個是炸彈按鈕。方向鍵盤設計成一個大圓形,玩家觸碰到圓形的時候會根據觸碰的位置判斷是哪個方向,方向鍵的大圓形放置在屏幕底端的左邊,另外2個按鍵放置在屏幕底端的右邊。

3.2 關卡設計

游戲根據劇情需要設計了3個關卡。

第一個關卡的背景是森林背景,目的是為了與第一關卡的BOSS一條龍的形象配合。

第二個關卡的背景是工業區背景,目的是為了與第二關的BOSS機器人的形象配合。

第三個關卡的背景是宇宙空間的背景,目的是為了配合劇情需要,BOSS逃到了外星空間,而主角也追到了外星空間。

如圖2所示:

分別為各自關卡的 BOSS截圖,其中圖 2(a)、圖 2(b)和圖2(c)分別是關卡1、2和3的截圖。

圖2 各自關卡的BOSS截圖

3.3 核心算法

(1)碰撞檢測算法

要進行碰撞檢測,首先要對需要進行碰撞檢測的各個對象之間進行2D圖形建模。目前比較常見的2D模型是矩形和圓形[3]。對于兩個圓形是否發生重疊,可計算兩個圓心之間的距離。那么條件就變為:計算兩個圓心之間的距離是否小于兩個圓的半徑總和。

先寫一個碰撞模型的圓形類,然后在所有需要進行游戲碰撞檢測的對象中加入該模型,并進行該模型圓的初始化,之后每次該對象發生變化,就要更新該模型圓的狀態,判斷碰撞檢測才能準確。

關鍵代碼如下:

(2)敵人定點射擊算法

該算法主要是為敵人小兵設計,敵人小兵的攻擊方式如果只是直線射擊,那么游戲就顯得不真實,所以必須要讓小兵射擊時是采用定點射擊的模式,即敵人小兵每次發射時都會以游戲主角為目標發射子彈。

假設小兵發射子彈時在A點,此時玩家在B點,在屏幕中A點與B點形成一條直線,直線方程Y=K*X+B中,Y隨著X的變化而變化,這里的X與Y對應于游戲中是每個點的X和Y坐標。在發射子彈時還需判斷A點相對于B點的方向,如果A點在B點的左邊,那么子彈的橫坐標X就得增加,如果A點在B點的右邊,那么子彈的橫坐標X就得減少,這樣才能實現定點射擊的功能。

所以該定點射擊算法最主要的功能,是計算出Y=K*X+B中的K和B兩個參數,子彈就會按照該直線方向,根據X值的改變而改變Y的值。

3.4 后期處理

(1)代碼優化

本游戲開發中用到的代碼優化如下:①使用靜態方法,在游戲中的生成隨機數和碰撞檢測方法中使用到靜態方法。②用乘法代替除法,由于乘法運算比除法運算快,所以能夠用乘法運算的地方盡量使用乘法運算,在游戲中計算位置的地方常使用。③直接調用成員,在訪問類成員時,習慣通過getter和setter方法來訪問,是一個良好的習慣。但是getter和setter方法在訪問成員時比直接訪問成員效率低,如果只是簡單的訪問可以直接訪問成員而不通過setter和getter方法[4]。比如for(int i=0;i<object.getCount();i++){},這里每次調用 getter方法會使效率降低,如果改成 for(int i=0;i<object.count;i++){},效率就提高了。游戲中遍歷對象數組是常見的操作,比如遍歷敵人子彈數組、玩家子彈數組等,直接訪問成員可以提高效率。

(2)算法優化

圓形碰撞檢測算法中,主要就是檢測兩個圓形的圓心距。而在平面直角坐標系中要計算兩個圓形的圓心距離是要進行一次開根號運算,但是在內核運算器中進行除法或者開根號這些操作運算要消耗大量的資源和時間[5],顯然不等式兩邊同時平方不會改變不等式的值,所以改進后可不進行開根號運算。

(3)資源文件優化

游戲中畫面的顯示必須使用圖片來顯示,之前要先解碼圖片,而解碼圖片是很消耗內存的操作,根據android的內核機制,如果使用 C語言申請分配的內存空間無法再使用Java操作進行處理,這樣會造成很多內存區域變成死內存,從而導致內存過小程序無法運行,所以必須對使用的圖片資源進行優化[6]。優化圖片的工具很多,比如 CS Photoshop等。

(4)游戲數值優化

游戲的另一個細節就是游戲中各種數值的設定,比如設定BOSS血量過多,那么玩家要很久才能消滅BOSS,這樣就會讓游戲的用戶體驗下降;數值還會影響到畫面顯示,比如玩家飛機發射子彈會有一個時間間隔,如果時間間隔太小那么后面的子彈會覆蓋到前面的子彈,如果攻擊間隔太大,子彈又會顯得太空曠,讓玩家感覺到火力不夠強大。

4 總結

本文簡要介紹了基本的游戲開發原理,重點討論了游戲功能系統的設計、游戲的核心算法以及游戲的優化方法。當然,本飛行射擊游戲還有一些可以繼續優化和擴展的地方,比如可以增加關卡,增加游戲的趣味系統,可以對游戲中內存資源的使用進行優化,以提高游戲運行效率和穩定性等。

[1] 顧聰,陳益強,劉軍發等.基于Android平臺的室內LBS系統設計與實現[J].計算機工程與設計,2012(1):396-401.

[2] 郝玉龍.Android程序射擊基礎[M].北京: 清華大學出版社,2011年.

[3] 吳亞鋒,蘇亞光.Android 2.0游戲開發實戰寶典[M].北京:人民郵電出版社,2010年.

[4] 林城.Google Android 2.X應用開發實戰[M].北京:清華大學出版社,2011年.

[5] 賈金玲.計算機組成原理[M].重慶: 重慶大學出版社,2011年.

[6] 李寧.Android應用開發實戰[M].北京: 機械工業出版社,2012年.

Design and Implementation of Flight Shooting Game Based on Android

Guo Yijing, Wu Wenshu
(Xiamen University TanKahKee College, Zhangzhou363105, China)

Combined with the basic principles of game development, flight shooting game is designed by using technology of Android mobile phone development. The development platform is introduced first. Then requirements analysis and system design are discussed. The development mode is set to MVC architecture. The system is divided into a graph drawing system, data synchronization system, collision detection system, automatic fire system and user input system. Finally, the game focuses on the design of each system, the core algorithm and optimization of game code.

Flight shooting; Game Development; Android

TP311

A

1007-757X(2014)06-0013-03

2014.04.22)

郭一晶(1980-),男,回族,福建仙游人,廈門大學嘉庚學院,講師,碩士,研究方向:計算機軟件與應用,福建漳州,363105

吳文樹(1989-),男,福建漳州人,廈門大學嘉庚學院,研究方向:軟件工程,福建漳州,363105

猜你喜歡
游戲系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
主站蜘蛛池模板: 一区二区三区四区日韩| 三级视频中文字幕| 91po国产在线精品免费观看| 三区在线视频| 一级毛片在线直接观看| 色综合天天视频在线观看| 国产超薄肉色丝袜网站| 国产精品丝袜在线| 亚洲区第一页| 伊人色综合久久天天| 色综合日本| a级毛片免费在线观看| 午夜国产在线观看| 国产综合色在线视频播放线视| www.91中文字幕| 国产丝袜无码精品| 91无码人妻精品一区| 99re精彩视频| 岛国精品一区免费视频在线观看| 久久国语对白| 日韩精品无码免费一区二区三区| 在线不卡免费视频| 91精品久久久久久无码人妻| 被公侵犯人妻少妇一区二区三区| 伊在人亞洲香蕉精品區| 秘书高跟黑色丝袜国产91在线 | 亚洲天堂久久| 二级毛片免费观看全程| 免费看的一级毛片| 国产成人乱码一区二区三区在线| 亚洲a级在线观看| 亚洲精品自拍区在线观看| 国产欧美日韩免费| 成人久久精品一区二区三区| 欧美一级大片在线观看| 色综合久久久久8天国| 亚洲伦理一区二区| 亚洲乱码在线视频| 欧美日韩国产在线观看一区二区三区| 高清国产va日韩亚洲免费午夜电影| 亚洲无码四虎黄色网站| 青青草原国产| 看国产一级毛片| 青青热久免费精品视频6| 国产迷奸在线看| 美女无遮挡被啪啪到高潮免费| 免费无码网站| 色天天综合| 亚洲精品无码av中文字幕| 欧美日韩在线观看一区二区三区| 高潮毛片免费观看| 日本在线欧美在线| 国产一区二区三区视频| 亚洲美女视频一区| 亚洲欧洲国产成人综合不卡| 日韩大片免费观看视频播放| 免费观看男人免费桶女人视频| 91尤物国产尤物福利在线| 国产精品九九视频| 国产男女免费视频| 综合亚洲网| 亚洲精品波多野结衣| 波多野结衣在线se| 日韩不卡免费视频| 国产精品亚洲一区二区三区z| 亚洲an第二区国产精品| 一个色综合久久| 99re视频在线| 久996视频精品免费观看| 好紧好深好大乳无码中文字幕| 91福利在线看| 亚洲天堂网在线播放| 在线观看无码av五月花| 欧洲日本亚洲中文字幕| 人妻精品全国免费视频| 亚洲欧美激情小说另类| 精品无码视频在线观看| 免费国产不卡午夜福在线观看| 老司国产精品视频| 国产最爽的乱婬视频国语对白| 广东一级毛片| 国产h视频在线观看视频|