亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的3D空戰(zhàn)游戲開發(fā)

        2018-12-23 19:54:31曾翔宇
        無線互聯(lián)科技 2018年7期
        關(guān)鍵詞:碰撞檢測(cè)敵機(jī)炮彈

        曾翔宇

        (湖南科技學(xué)院 電子與信息工程學(xué)院,湖南 永州 425199)

        1 游戲設(shè)計(jì)發(fā)展

        動(dòng)作類游戲是最傳統(tǒng)的游戲類型之一,主要由玩家所控制的人物或角色根據(jù)周圍環(huán)境的變化,利用鍵盤或者手柄、鼠標(biāo)的按鍵作出一定的動(dòng)作,如移動(dòng)、跳躍、攻擊、躲避、防守等,來達(dá)到游戲要求的相應(yīng)目標(biāo),一般是為了過關(guān)。TV GAME早期的作品多數(shù)集中在這個(gè)類型上。

        通過了幾代游戲機(jī)種的變化和發(fā)展,現(xiàn)在的動(dòng)作類游戲中已經(jīng)融入了更新鮮的元素、更完整的劇情、更復(fù)雜的機(jī)關(guān)解謎,這些都使動(dòng)作類游戲逐漸成為所有類型游戲里面款式最豐富的一種。代表作品:《波斯王子》《鬼泣》系列、《超級(jí)忍者》系列(是SEGA經(jīng)典系列正宗ACT代表),還有《超級(jí)瑪麗》《刺客信條》《真三國(guó)無雙》等。

        本文通過設(shè)計(jì)并實(shí)現(xiàn)在Android平臺(tái)上的空戰(zhàn)游戲《3D空戰(zhàn)》,闡述了此類游戲的開發(fā)過程及實(shí)用的開發(fā)技巧。

        2 游戲的背景及功能概述

        2.1 背景概述

        《3D空戰(zhàn)》是一款很好玩的3D飛行射擊游戲,在游戲中你要控制一架模擬戰(zhàn)機(jī),完成不同的任務(wù)。全3D的畫面,游戲場(chǎng)景的設(shè)計(jì)別具一格,雖然畫面是全3D打造,不過運(yùn)行非常流暢,在Symbian系列手機(jī)系統(tǒng)中廣為流行。游戲的玩法和同類3D飛行游戲類似,上下左右鍵控制飛機(jī)運(yùn)動(dòng),確定鍵進(jìn)行射擊,游戲的目標(biāo)就是完成每關(guān)的任務(wù),也就是擊落一定數(shù)量的敵機(jī)。不過敵機(jī)也可以射擊,你要做的是控制好自己的戰(zhàn)機(jī),盡量和對(duì)面呼嘯而來的敵機(jī)導(dǎo)彈保持距離。該游戲最大的特點(diǎn)就是巧妙而又豐富的場(chǎng)景設(shè)計(jì)—天空球和陸地球,這也是3D游戲吸引人的特點(diǎn)之一[1]。同時(shí)也是非常有挑戰(zhàn)性的游戲,面對(duì)不斷飛馳而來的炮彈,你要操作你的戰(zhàn)機(jī),努力躲避空中的炮彈,同時(shí)發(fā)射導(dǎo)彈擊落敵機(jī),當(dāng)擊落的敵機(jī)數(shù)大到一定數(shù)量時(shí),就可以成功過關(guān)了。

        2.2 功能簡(jiǎn)介

        《3D空戰(zhàn)》游戲的規(guī)則很簡(jiǎn)單,玩家駕駛著自己的飛機(jī)向前飛行,在飛行的過程中,會(huì)從不同方向飛出向玩家發(fā)射炮彈的敵機(jī),玩家可以按下手機(jī)上的確認(rèn)鍵發(fā)射炮彈擊落敵機(jī),也可以通過上下左右鍵控制飛機(jī)躲避,當(dāng)擊落的敵機(jī)數(shù)到一定數(shù)量時(shí),玩家就闖關(guān)成功,進(jìn)行下一次挑戰(zhàn)。下面具體進(jìn)行闡述。

        (1)啟動(dòng)游戲后首先進(jìn)入的便是游戲聲音設(shè)置界面。單擊“是”,則開啟游戲聲音,單擊“否”,則關(guān)閉游戲聲音。

        (2)聲音設(shè)置完畢后,返回主界面。該界面共有5個(gè)菜單,分別是關(guān)于游戲、游戲設(shè)置、快速游戲、游戲幫助及退出游戲。

        (3)在開始菜單界面若單擊“游戲設(shè)置”,則進(jìn)入游戲聲音設(shè)置界面。可進(jìn)行聲音設(shè)置。

        (4)游戲主界面若單擊“關(guān)于游戲”,則進(jìn)入游戲關(guān)于界面。該界面介紹了關(guān)于本游戲的相關(guān)信息。

        (5)游戲主界面若單擊“游戲幫助”。該界面顯示了游戲的操作規(guī)則和操作方法。

        (6)在開始菜單界面若單擊“快速游戲”,則首先切換到游戲加載畫面,然后開始游戲。開始菜單界面若單擊“退出游戲”,則會(huì)自動(dòng)結(jié)束游戲,返回手機(jī)桌面,若要重新運(yùn)行,在應(yīng)用程序中單擊小飛機(jī)圖標(biāo),就可以重新開始游戲。

        (7)游戲開始的畫面:在一開始,自己的飛機(jī)在屏幕中間位置,敵機(jī)則由遠(yuǎn)及近從不同角度對(duì)我機(jī)射擊。屏幕的左上角顯示的是我機(jī)的數(shù)量,當(dāng)被敵機(jī)擊中之后,其數(shù)量會(huì)相應(yīng)減少,替換我機(jī)繼續(xù)進(jìn)行游戲,當(dāng)我機(jī)全被敵機(jī)擊中后,則表示游戲失敗。屏幕右上角是擊落的敵機(jī)數(shù)量,當(dāng)擊落10架敵機(jī),則闖關(guān)成功。

        (8)游戲進(jìn)行中:敵機(jī)從上到下,由遠(yuǎn)到近對(duì)我機(jī)進(jìn)行射擊。

        (9)戰(zhàn)機(jī)被敵機(jī)擊中,并發(fā)生爆炸時(shí)的場(chǎng)景。

        (10)當(dāng)玩家完成規(guī)定的任務(wù)時(shí),則游戲勝利,進(jìn)入游戲勝利界面。玩家飛機(jī)全被擊落之后,則游戲結(jié)束,進(jìn)入失敗界面。

        3 游戲的策劃和準(zhǔn)備工作

        3.1 游戲的策劃

        人們自古以來就對(duì)浩瀚的太空充滿好奇,同時(shí)也不斷地探索著這塊未知的領(lǐng)域,正是由于這樣,出現(xiàn)了許多以太空為中心題材的游戲,比如《太空保衛(wèi)戰(zhàn)》等一些游戲。《3D空戰(zhàn)》也是這種3D動(dòng)作飛行射擊游戲,玩家控制自己的戰(zhàn)機(jī)遨游天空,需要玩家注意力集中,當(dāng)玩家投入到游戲中后,就可以體會(huì)到穿越高山、海洋、在空中邀游的完美體驗(yàn)。開發(fā)這款游戲的目的是在Android平臺(tái)上的游戲開發(fā)提供一個(gè)指導(dǎo)方案,而不是生產(chǎn)商業(yè)化的游戲產(chǎn)品。

        3.2 Android平臺(tái)下游戲的準(zhǔn)備工作

        游戲的準(zhǔn)備工作通常是根據(jù)游戲的策劃來制作游戲所用的圖片、聲音等。由于圖片的加載在游戲中比較耗時(shí),建議把一些小的圖片紋理,如飛機(jī)的機(jī)翼紋理、機(jī)身紋理、螺旋槳紋理等集成到一張圖片上,以縮短游戲加載時(shí)間,提高運(yùn)行速度。對(duì)于紋理的大小,不應(yīng)太大,適當(dāng)大小即可,這樣可以節(jié)省內(nèi)存資源。另外,還有準(zhǔn)備好游戲中用到的聲音文件。如炮彈發(fā)射聲音、敵機(jī)發(fā)炮聲音、爆炸音效、背景音樂等[2]。

        4 游戲的架構(gòu)

        4.1 游戲中用到的主要技術(shù)

        程序中開始菜單、聲音設(shè)置界面、關(guān)于界面、幫助界面、加載界面及勝利界面均以2D實(shí)現(xiàn)。以上界面均直接自定義SurfaceView并重寫了其中的onDraw()方法,所有的按鈕均是作者用貼圖實(shí)現(xiàn)的,避免了使用Android自帶控件,使游戲畫面更加絢麗、個(gè)性。

        游戲時(shí)的界面使用3D技術(shù)實(shí)現(xiàn),游戲界面直接自定義了GLSurfaceView并實(shí)現(xiàn)了Renderer接口,通過重寫onKeyDown()方法、onTouchEvent()方法實(shí)現(xiàn)與用戶的交互。本游戲使用了簡(jiǎn)單的碰撞檢測(cè)算法。實(shí)際商業(yè)化游戲開發(fā)中,往往使用的碰撞檢測(cè)算法是更有效率、更準(zhǔn)確、更成熟的算法。而這些算法往往都是由數(shù)學(xué)家來研究的。

        4.2 游戲的框架

        接下來將通過游戲的運(yùn)行過程闡述各個(gè)類在游戲中的作用,游戲的運(yùn)行步驟如下。

        (1)啟動(dòng)游戲后,首先在G L D e m o中初始化StartSurfaceView,然后將用戶界面切換到聲音設(shè)置界面。

        (2)設(shè)置完游戲聲音后,StartSurfaceView將調(diào)用其中的setMenuView方法,將界面切換到主菜單界面。

        (3)在主菜單界面StartSurfaceView中,根據(jù)不同的菜單項(xiàng)調(diào)用不同的方法,進(jìn)入不同界面。如果單擊關(guān)于,則調(diào)用setAboutView方法,進(jìn)入關(guān)于界面。

        (4)當(dāng)主界面調(diào)用setMySurfaceView后,進(jìn)入游戲界面,首先MySurfaceView會(huì)初始化背景類、地板類、建筑塊類、鋼絲繩類等場(chǎng)景類來繪制場(chǎng)景。同時(shí)將啟動(dòng)線程ActionThread來刷新界面,同時(shí)進(jìn)行動(dòng)畫的繪制和碰撞檢測(cè)。

        (5)游戲界面類中有一個(gè)消息處理器,MySurfaceView中有一個(gè)線程時(shí)時(shí)刻刻檢測(cè)是否勝利,如果勝利就發(fā)送消息,然后交給消息處理器處理,GL Demo調(diào)用setWinView方法,切換到勝利界面。

        (6)在勝利界面,觸摸屏幕任意處,則GL- Demo調(diào)用setMenuView方法,切換到開始菜單界面[3]。

        5 游戲中的運(yùn)動(dòng)線程和碰撞檢測(cè)

        下面闡述游戲中控制物體運(yùn)動(dòng)的線程和碰撞檢測(cè)的實(shí)現(xiàn),以及用戶的交互,這些類中控制hero機(jī)和敵機(jī)的飛行,hero機(jī)炮彈和敵機(jī)炮彈的飛行,以及各種碰撞檢測(cè)。

        (1)飛機(jī)是如何按路線飛行的,主要包括飛機(jī)路線設(shè)計(jì)器和游戲中的MoveThread線程。飛機(jī)的每條路線由4個(gè)點(diǎn)構(gòu)成,第1個(gè)點(diǎn)和第4個(gè)點(diǎn)在屏幕外,第2個(gè)點(diǎn)和第3個(gè)點(diǎn)在屏幕內(nèi),讓飛機(jī)沿著這條路線飛行,就能保證飛機(jī)從屏幕外面飛進(jìn)來,最后又飛出屏幕的效果。

        由此可以用一個(gè)程序來生成多條不同的飛機(jī)路線,在游戲中讓這多條不同路線循環(huán)出現(xiàn),這樣既能保證路線的多樣化,又能節(jié)省資源,使游戲具有可玩性。

        (2)飛機(jī)發(fā)射炮彈后,炮彈被添加進(jìn)炮彈列表,炮彈列表里面所有的炮彈在單獨(dú)線程中按既定的路線飛行,并且需要處理碰撞檢測(cè)和生命周期檢測(cè)。

        6 游戲的優(yōu)化與改進(jìn)

        6.1 增加游戲的關(guān)數(shù)

        —款多關(guān)游戲,總是能激發(fā)玩家的挑戰(zhàn)心理,對(duì)玩家有更大的吸引力。在玩家眼中,離開了闖關(guān)的刺激,游戲的體驗(yàn)就會(huì)大打折扣,所以增加游戲關(guān)數(shù)是游戲開發(fā)中必不可少的。本游戲中,并沒有設(shè)置游戲關(guān)數(shù),在以后的研究中可以改進(jìn)程序,增加游戲關(guān)數(shù),每闖一關(guān),游戲難度越大,以提升玩家的體驗(yàn)。

        6.2 模式的定制

        游戲應(yīng)該開發(fā)成多種模式,不同的模式帶來不一樣的體驗(yàn),單一模式會(huì)讓游戲很快失去對(duì)玩家的吸引力。同時(shí)應(yīng)該增加游戲難度的選擇功能,使玩家根據(jù)自己的情況選擇不同的等級(jí)進(jìn)行游戲,這樣才更加合理。

        6.3 子彈的變換

        如果能在游戲過程中通過撿裝備改變子彈種類或者數(shù)量,比如hero機(jī)吃到了一個(gè)晶體之類的東西就可以讓炮彈數(shù)量更多或更快,會(huì)大大提高玩家對(duì)本游戲的體驗(yàn),在以后的研究中可以自行開發(fā)完成此功能。

        [參考文獻(xiàn)]

        [1]吳亞峰.Android3D游戲開發(fā)技術(shù)詳解與典型案例[M].北京:電子工業(yè)出版社,2012.

        [2]夏有新.Android3D游戲模型紋理處理[J].硅谷,2013(11):103-104.

        [3]林深華,范志尚,蔣建兵,等.基于Android平臺(tái)Unity3D游戲設(shè)計(jì)與實(shí)現(xiàn)[J].企業(yè)科技與發(fā)展,2013(10):40-42.

        猜你喜歡
        碰撞檢測(cè)敵機(jī)炮彈
        樹上長(zhǎng)“炮彈”
        沖著敵機(jī),開炮!——M1939式37毫米高射炮
        全新預(yù)測(cè)碰撞檢測(cè)系統(tǒng)
        裝填炮彈
        基于BIM的鐵路信號(hào)室外設(shè)備布置與碰撞檢測(cè)方法
        “炮彈”表妹
        Unity3D中碰撞檢測(cè)問題的研究
        新中國(guó)建國(guó)后擊落入侵?jǐn)硻C(jī)大盤點(diǎn)
        騎炮彈飛行
        BIM技術(shù)下的某辦公樓項(xiàng)目管線碰撞檢測(cè)
        国产美腿丝袜一区二区| 中文字幕大屁股熟女乱| 日韩女优一区二区视频| 中文字幕在线乱码av| 337p日本欧洲亚洲大胆| 少妇白浆高潮无码免费区| 手机色在线| 精品少妇一区二区三区入口| 国产精品日本一区二区在线播放| 免费无码又爽又刺激网站| 亚洲区偷拍自拍29p| 中文字幕精品人妻丝袜| 欧美精品欧美人与动人物牲交 | 亚洲av色在线播放一区| 精品偷拍被偷拍在线观看| 八区精品色欲人妻综合网| 少妇被粗大猛进进出出| 亚洲毛片在线观看免费| 免费毛片a线观看| 国产成人精品自在线无码| 成年女人午夜特黄特色毛片免| 亚洲av乱码国产精品色| 国产又色又爽的视频在线观看91 | 亚洲乱码中文字幕综合| 久久精品人搡人妻人少妇| 欧美a级情欲片在线观看免费| 一本到无码AV专区无码| 综合中文字幕亚洲一区二区三区| 最美女人体内射精一区二区| 性一乱一搞一交一伦一性| 人妻少妇精品视中文字幕国语| 婷婷丁香开心五月综合| av 日韩 人妻 黑人 综合 无码| 国产精品麻豆成人AV电影艾秋| 色老板在线免费观看视频日麻批| av无码国产精品色午夜| 一本大道东京热无码| 蜜桃av观看亚洲一区二区| 少妇连续高潮爽到抽搐| 美女视频黄的全免费视频网站| 亚洲午夜久久久久中文字幕久|