www.黄片视频在线播放,欧美精品日韩精品一级黄,成年男女免费视频网站,99久久久国产精品免费牛牛四川,99久久精品国产9999高清,乱人妻中文字幕视频4399,亚洲男人在线视频观看

一種基于Unity的人機對戰(zhàn)游戲的設(shè)計與實現(xiàn)

發(fā)布時間:2018-07-01 來源: 幽默笑話 點擊:


  摘要:隨著社會科技水平和經(jīng)濟水平的迅速發(fā)展,游戲逐步成為人們享受生活娛樂的一種流行的方式,Unity3D作為一款虛擬3D開發(fā)的軟件正在逐步升溫,他以其跨平臺的優(yōu)勢,良好的界面環(huán)境,操作要求不高,強大的功能設(shè)計漸漸的被廣大虛擬現(xiàn)實的設(shè)計者們所使用。
  本文主要是設(shè)計一款能夠在手機上操作的休閑類射擊游戲,功能模塊分為:敵機的生成與銷毀模塊,子彈的對象池,以及子彈與敵機的碰撞檢測模塊,還有最后的結(jié)束界面,用本地保存歷史最高的分?jǐn)?shù)。
  關(guān)鍵詞:Unity3D;射擊游戲;安卓
  就目前的游戲市場而已,很多人對unity3d游戲偏愛有佳,從事unity3d游戲開發(fā)前景廣闊。在本次的畢業(yè)設(shè)計,用戶能夠在手機上通過自身的單手觸屏的操作,享受游戲帶來的快樂。而通過本次的射擊游戲的開發(fā),讓我對與大型游戲的制作流程有了一個更加深入的了解,并且提高的我邏輯思維能力,代碼能力,讓我受益匪淺。
  一、游戲的模塊分析
  新課程理念的核心在于充分發(fā)揮學(xué)生的思維能力,培養(yǎng)學(xué)生多元化的學(xué)習(xí)能力,進(jìn)而實現(xiàn)國家人才培養(yǎng)的基本目標(biāo)。新課程面對的一個重要問題就是如何提高課堂教學(xué)效益最大化,即初中化學(xué)教師應(yīng)如何改善自身的教學(xué)方式,提高化學(xué)教學(xué)的有效性,促使初中化學(xué)教學(xué)能夠達(dá)到預(yù)想的教學(xué)效果,實現(xiàn)現(xiàn)代化人才培養(yǎng)的宏偉目標(biāo)。
  (一)游戲主線模塊
  游戲中共有三種等級的敵機,小型敵機生命值和分值最低,移動速度最快,出現(xiàn)頻率最高,中型敵機生命值和分值略多于小型敵機,移動速度略低于小型敵機,出現(xiàn)頻率略高于小型敵機,大型敵機生命值和分值最高,移動速度最慢,屬于BOSS,當(dāng)只有消滅數(shù)量的敵機,達(dá)到一定分?jǐn)?shù)的時候才會出現(xiàn)。敵機生命值耗盡則爆炸,飛出邊界自動銷毀。而玩家擁有主武器和副武器,在得到子彈獎勵物品后,會在一定時間增強火力,玩家受到敵機碰撞會損失生命值,獎勵物品同樣在飛出邊界后,或者過段時間后會自動銷毀,敵機無法獲得獎勵物品,玩家每消滅一個敵機得到相應(yīng)的分?jǐn)?shù),生命值耗盡則游戲結(jié)束如果和敵機發(fā)生碰撞或者與敵機的子彈發(fā)生碰撞,血量就會變少,當(dāng)消滅一個敵機時,游戲右上方的分?jǐn)?shù)會增加,敵機會有銷毀的動畫。由于本次采用是無盡深淵模式,就是一直刷怪,所以關(guān)數(shù)只有一關(guān)。同時,對于游戲的界面進(jìn)行一些處理,要有進(jìn)入游戲后的玩家角色界面,如血條,分?jǐn)?shù)等,還需要結(jié)束游戲界面。
 。ǘ┯螒颡剟钗锲纺K
  游戲中有多種獎勵物品,為子彈獎勵,通過一個腳本控制,Inspector屬性面板中給定,由生成器根據(jù)不同頻率周期控制生成,生成的地點也是隨機的,獎勵物品飛出邊界后自動銷毀,碰撞到玩家戰(zhàn)機,則由玩家戰(zhàn)機上面的腳本判斷獎勵類型,同時,獎勵物品消失。獎勵物品和敵機沒有碰撞檢測,當(dāng)獎勵物品和敵機位置重疊,獎勵物品渲染層級在敵機上層,優(yōu)先顯示,不會被敵機遮擋
 。ㄈ⿺硻C模塊
  游戲中有三種敵機,小型、中型和大型,三種類型的敵機都有同一個腳本控制,生命值(hp)、速度(speed)、分值,3個屬性為公共變量(public),直接在Inspector屬性面板中分別修改三種敵機的預(yù)制件(prefab)的屬性,生成的敵機就擁有不同的屬性。敵機的生成通過生成器(spawn)控制,生成器的腳本通過不同的頻率控制生成器隨機生成敵機,當(dāng)然,敵機我也是為了重復(fù)利用,采用了對象池的技術(shù),通過生成鏈表和死亡鏈表來重復(fù)使用。
  二、游戲的實現(xiàn)
 。ㄒ唬┲鹘秋w機的移動
  在本款游戲中,主要是在安卓端使用,所以主要是用在手機拖拽,所以調(diào)用了OnMouseDrag函數(shù),并且要將鼠標(biāo)點擊的屏幕坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)來計算,只能限定在屏幕內(nèi)拖動不能拖到屏幕外側(cè)。
 。ǘ┲鹘堑呐鲎矙z測
  碰撞檢測的觸發(fā)條件是,兩個物體必須要有Box Collider或者Charater Controller,且至少一個Rigidbody組件。而在本次的游戲設(shè)計中,除了在主角物體的Inspector面板中的添加的Box Collider2D組件之外,還應(yīng)該給主角添加Rigidbody2D,Rigidbody2D是剛體組件,使物體具有物理屬性,將其中的Gravity Scale設(shè)置為0,這樣物體不會受到重力影響,不會掉落,Box Collider2D是物體在2D環(huán)境中的碰撞體,可以用來檢測是否發(fā)生碰撞,調(diào)整Box Collider2D的大小剛好包圍飛機,勾選其中的Is Trigger,使其進(jìn)行觸發(fā)檢測,但并不會產(chǎn)生物理碰撞效果。同時,將player的tag設(shè)置成為Player,同理,后面提到的子彈,敵機,獎勵物品都會有Tag,以及Box Colloder2D及Rigidbody2D,是為了檢測兩者直接的碰撞檢測,那么主角就會有兩者情況,第一種是碰撞到敵機或者是敵機的子彈,首先要判斷當(dāng)前血量,如果血量大于0,那么主角的血量減少否則就播放主角的死亡動畫,展開游戲結(jié)束的畫面。所以,子彈和敵機的碰撞也是上述相同的道理。
 。ㄈv史最高和最高分?jǐn)?shù)
  用Unity中的PlayerPrefs.GetInt方法來保存歷史最高的,PlayerPrefs.SetInt方法來設(shè)置,具體的實現(xiàn)邏輯為第一次分?jǐn)?shù)肯定是歷史最高,然后保存在本地,當(dāng)?shù)诙问≈,會將第二次的成績跟歷史最高成績對比,如果第二次的成績大于歷史最高成績,那么就把第二次的成績變成歷史記錄顯示出來,反之,則還是原來的歷史分?jǐn)?shù)
  三、總結(jié)
  本文主要實現(xiàn)了基于Unity開發(fā)人機射擊游戲的詳細(xì)基本開發(fā)流程。
  首先分析了游戲行業(yè)的發(fā)展趨勢及手游的市場的巨大前景,介紹了Unity開發(fā)工具的優(yōu)勢和特點,C#的優(yōu)勢,通過商業(yè)前景和發(fā)展趨勢闡述了選擇這個項目的意義。后面介紹了開發(fā)所在的系統(tǒng)環(huán)境和開發(fā)過程中用到的工具以及相關(guān)技術(shù),接著就是此項目設(shè)計、實現(xiàn)具體步驟。
  此項目基本實現(xiàn)了飛行射擊游戲的功能,但是細(xì)節(jié)方面還遠(yuǎn)遠(yuǎn)不夠,游戲難度控制也沒有太多的體現(xiàn),敵機類型只有三種,玩家飛機只有一種,獎勵物品和細(xì)節(jié)動畫特效都做得不夠全面。旨在通過此項目的實現(xiàn),熟悉Unity結(jié)合C#腳本開發(fā)手游的具體流程,掌握Unity開發(fā)工具的常用功能,以及對Unity開發(fā)虛擬現(xiàn)實手游的展望。在項目的實現(xiàn)過程中,也遇到了大大小小的問題,但都在導(dǎo)師、同學(xué)的幫助下逐一解決了。也使自己清楚自己的不足和局限性,尤其是在Unity的基礎(chǔ)方面還需要大量的花費時間去學(xué)習(xí),由于我才使用Unity不久,算是個初學(xué)者,此次項目的設(shè)計和實現(xiàn)還有欠缺和不足的地方,能有進(jìn)一步改善的空間。
  參考文獻(xiàn):
  [1]金璽曾《Unity3D\2D手機游戲開發(fā)(第二版)》清華大學(xué)出版社2014年10月.
  [2]Unity Technologies 《Unity4.X從入門到精通》中國鐵道出版社 2013年11月.
  [3](美)梅納德, 瓦格斯特夫著,占紅來譯《Unity游戲開發(fā)實戰(zhàn)(原書第2版)》機械工業(yè)出版社 2015年11月.
  [4](美) Matthew Johnson,James A. Henley著 郭華豐 韋靜 譯《Unity2D游戲開發(fā)秘籍》清華大學(xué)出版社 2015年9月.

相關(guān)熱詞搜索:人機 對戰(zhàn) 設(shè)計 游戲 Unity

版權(quán)所有 蒲公英文摘 m.91mayou.com