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

一種基于Unity的人機對戰游戲的設計與實現

2018-06-09 03:43:02蘇偉勵
東方教育 2018年13期

蘇偉勵

摘要:隨著社會科技水平和經濟水平的迅速發展,游戲逐步成為人們享受生活娛樂的一種流行的方式,Unity3D作為一款虛擬3D開發的軟件正在逐步升溫,他以其跨平臺的優勢,良好的界面環境,操作要求不高,強大的功能設計漸漸的被廣大虛擬現實的設計者們所使用。

本文主要是設計一款能夠在手機上操作的休閑類射擊游戲,功能模塊分為:敵機的生成與銷毀模塊,子彈的對象池,以及子彈與敵機的碰撞檢測模塊,還有最后的結束界面,用本地保存歷史最高的分數。

關鍵詞:Unity3D;射擊游戲;安卓

就目前的游戲市場而已,很多人對unity3d游戲偏愛有佳,從事unity3d游戲開發前景廣闊。在本次的畢業設計,用戶能夠在手機上通過自身的單手觸屏的操作,享受游戲帶來的快樂。而通過本次的射擊游戲的開發,讓我對與大型游戲的制作流程有了一個更加深入的了解,并且提高的我邏輯思維能力,代碼能力,讓我受益匪淺。

一、游戲的模塊分析

新課程理念的核心在于充分發揮學生的思維能力,培養學生多元化的學習能力,進而實現國家人才培養的基本目標。新課程面對的一個重要問題就是如何提高課堂教學效益最大化,即初中化學教師應如何改善自身的教學方式,提高化學教學的有效性,促使初中化學教學能夠達到預想的教學效果,實現現代化人才培養的宏偉目標。

(一)游戲主線模塊

游戲中共有三種等級的敵機,小型敵機生命值和分值最低,移動速度最快,出現頻率最高,中型敵機生命值和分值略多于小型敵機,移動速度略低于小型敵機,出現頻率略高于小型敵機,大型敵機生命值和分值最高,移動速度最慢,屬于BOSS,當只有消滅數量的敵機,達到一定分數的時候才會出現。敵機生命值耗盡則爆炸,飛出邊界自動銷毀。而玩家擁有主武器和副武器,在得到子彈獎勵物品后,會在一定時間增強火力,玩家受到敵機碰撞會損失生命值,獎勵物品同樣在飛出邊界后,或者過段時間后會自動銷毀,敵機無法獲得獎勵物品,玩家每消滅一個敵機得到相應的分數,生命值耗盡則游戲結束如果和敵機發生碰撞或者與敵機的子彈發生碰撞,血量就會變少,當消滅一個敵機時,游戲右上方的分數會增加,敵機會有銷毀的動畫。由于本次采用是無盡深淵模式,就是一直刷怪,所以關數只有一關。同時,對于游戲的界面進行一些處理,要有進入游戲后的玩家角色界面,如血條,分數等,還需要結束游戲界面。

(二)游戲獎勵物品模塊

游戲中有多種獎勵物品,為子彈獎勵,通過一個腳本控制,Inspector屬性面板中給定,由生成器根據不同頻率周期控制生成,生成的地點也是隨機的,獎勵物品飛出邊界后自動銷毀,碰撞到玩家戰機,則由玩家戰機上面的腳本判斷獎勵類型,同時,獎勵物品消失。獎勵物品和敵機沒有碰撞檢測,當獎勵物品和敵機位置重疊,獎勵物品渲染層級在敵機上層,優先顯示,不會被敵機遮擋

(三)敵機模塊

游戲中有三種敵機,小型、中型和大型,三種類型的敵機都有同一個腳本控制,生命值(hp)、速度(speed)、分值,3個屬性為公共變量(public),直接在Inspector屬性面板中分別修改三種敵機的預制件(prefab)的屬性,生成的敵機就擁有不同的屬性。敵機的生成通過生成器(spawn)控制,生成器的腳本通過不同的頻率控制生成器隨機生成敵機,當然,敵機我也是為了重復利用,采用了對象池的技術,通過生成鏈表和死亡鏈表來重復使用。

二、游戲的實現

(一)主角飛機的移動

在本款游戲中,主要是在安卓端使用,所以主要是用在手機拖拽,所以調用了OnMouseDrag函數,并且要將鼠標點擊的屏幕坐標轉換為世界坐標來計算,只能限定在屏幕內拖動不能拖到屏幕外側。

(二)主角的碰撞檢測

碰撞檢測的觸發條件是,兩個物體必須要有Box Collider或者Charater Controller,且至少一個Rigidbody組件。而在本次的游戲設計中,除了在主角物體的Inspector面板中的添加的Box Collider2D組件之外,還應該給主角添加Rigidbody2D,Rigidbody2D是剛體組件,使物體具有物理屬性,將其中的Gravity Scale設置為0,這樣物體不會受到重力影響,不會掉落,Box Collider2D是物體在2D環境中的碰撞體,可以用來檢測是否發生碰撞,調整Box Collider2D的大小剛好包圍飛機,勾選其中的Is Trigger,使其進行觸發檢測,但并不會產生物理碰撞效果。同時,將player的tag設置成為Player,同理,后面提到的子彈,敵機,獎勵物品都會有Tag,以及Box Colloder2D及Rigidbody2D,是為了檢測兩者直接的碰撞檢測,那么主角就會有兩者情況,第一種是碰撞到敵機或者是敵機的子彈,首先要判斷當前血量,如果血量大于0,那么主角的血量減少否則就播放主角的死亡動畫,展開游戲結束的畫面。所以,子彈和敵機的碰撞也是上述相同的道理。

(三)歷史最高和最高分數

用Unity中的PlayerPrefs.GetInt方法來保存歷史最高的,PlayerPrefs.SetInt方法來設置,具體的實現邏輯為第一次分數肯定是歷史最高,然后保存在本地,當第二次失敗之后,會將第二次的成績跟歷史最高成績對比,如果第二次的成績大于歷史最高成績,那么就把第二次的成績變成歷史記錄顯示出來,反之,則還是原來的歷史分數

三、總結

本文主要實現了基于Unity開發人機射擊游戲的詳細基本開發流程。

首先分析了游戲行業的發展趨勢及手游的市場的巨大前景,介紹了Unity開發工具的優勢和特點,C#的優勢,通過商業前景和發展趨勢闡述了選擇這個項目的意義。后面介紹了開發所在的系統環境和開發過程中用到的工具以及相關技術,接著就是此項目設計、實現具體步驟。

此項目基本實現了飛行射擊游戲的功能,但是細節方面還遠遠不夠,游戲難度控制也沒有太多的體現,敵機類型只有三種,玩家飛機只有一種,獎勵物品和細節動畫特效都做得不夠全面。旨在通過此項目的實現,熟悉Unity結合C#腳本開發手游的具體流程,掌握Unity開發工具的常用功能,以及對Unity開發虛擬現實手游的展望。在項目的實現過程中,也遇到了大大小小的問題,但都在導師、同學的幫助下逐一解決了。也使自己清楚自己的不足和局限性,尤其是在Unity的基礎方面還需要大量的花費時間去學習,由于我才使用Unity不久,算是個初學者,此次項目的設計和實現還有欠缺和不足的地方,能有進一步改善的空間。

參考文獻:

[1]金璽曾《Unity3D\2D手機游戲開發(第二版)》清華大學出版社2014年10月.

[2]Unity Technologies 《Unity4.X從入門到精通》中國鐵道出版社 2013年11月.

[3](美)梅納德, 瓦格斯特夫著,占紅來譯《Unity游戲開發實戰(原書第2版)》機械工業出版社 2015年11月.

[4](美) Matthew Johnson,James A. Henley著 郭華豐 韋靜 譯《Unity2D游戲開發秘籍》清華大學出版社 2015年9月.

主站蜘蛛池模板: 黄色网在线| 青青草原国产一区二区| 日韩一区二区三免费高清| 91探花国产综合在线精品| 男女男免费视频网站国产| 亚洲精品成人片在线观看| 丝袜美女被出水视频一区| 亚洲一区免费看| 国产女人在线| 四虎永久免费地址在线网站| 欧美一区精品| 亚洲黄色视频在线观看一区| 亚洲中文字幕精品| 青青草原国产av福利网站| 伊人精品成人久久综合| 超碰色了色| 国产97视频在线观看| 992Tv视频国产精品| 日本亚洲国产一区二区三区| 亚洲无码高清一区二区| 成人精品午夜福利在线播放 | 99er这里只有精品| 一本大道无码日韩精品影视| 午夜视频免费一区二区在线看| julia中文字幕久久亚洲| 91人人妻人人做人人爽男同| 亚洲精品爱草草视频在线| 国产欧美视频综合二区 | 97国产精品视频人人做人人爱| 99re精彩视频| 91丝袜乱伦| 国产99久久亚洲综合精品西瓜tv| 欧美激情,国产精品| 国产无码精品在线播放| 中文字幕无码电影| 久久国产乱子伦视频无卡顿| 欧美国产在线精品17p| 免费又爽又刺激高潮网址 | 日本影院一区| 一级不卡毛片| 天天爽免费视频| 亚洲AV无码久久精品色欲| 国产极品粉嫩小泬免费看| 精品自窥自偷在线看| 国产三级毛片| 91精品专区国产盗摄| 精品国产美女福到在线不卡f| 色色中文字幕| 3344在线观看无码| 在线观看91香蕉国产免费| 国产精品99一区不卡| 亚洲一级毛片| 亚洲成人福利网站| 无码中字出轨中文人妻中文中| 国产成人精品视频一区二区电影 | 免费看av在线网站网址| 97se亚洲综合在线天天| 欧美中文一区| 免费观看无遮挡www的小视频| 亚洲精品福利视频| 欧美一区二区三区不卡免费| 亚洲高清在线天堂精品| 毛片网站在线播放| 日韩av无码精品专区| 免费看久久精品99| 日本精品一在线观看视频| AV不卡国产在线观看| 欧美成人一区午夜福利在线| 国产AV无码专区亚洲精品网站| 综合人妻久久一区二区精品| 中文纯内无码H| 欧美 亚洲 日韩 国产| 欧美成人午夜视频| 综合久久五月天| 一边摸一边做爽的视频17国产| 国产一区二区免费播放| 国产精品yjizz视频网一二区| 久久精品人人做人人爽97| 亚洲Av激情网五月天| 免费一极毛片| 夜夜操国产| 国产一区二区影院|