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

基于Unity3D中C#腳本開發的飛機大戰游戲設計與實現

2021-09-10 21:16:24張照乾呂文超黃猛
科學與生活 2021年10期

張照乾 呂文超 黃猛

摘要:在信息化的時代,隨著人們生活水平的提高,人們對于娛樂的方式也越發豐富,而游戲則是一種深受廣大人民群眾喜愛的娛樂方式,漸漸成為人們生活中必不可少的一部分。本文通過Unity3D中c#腳本技術實現“飛機大戰”這一實例,詳細闡述開發3D飛機大戰的方法和技術。

關鍵詞: Unity3D;飛機大戰;c#腳本

1 系統設計

1.1 系統描述

這款游戲主要是太空射擊類游戲,在游戲中,玩家可以駕駛自己的戰機,通過擊敗敵人來獲得相應的分數,游戲過程中還可以調試飛行速度,敵人是外太空飛碟和宇宙飛船,玩家可以控制飛機向敵機開火,同時躲避傷害,以保證自己的血量安全。撞擊敵人或者受到子彈攻擊護甲值減一,當護甲值為0時游戲失敗,玩家可以選擇再來一次或者退出游戲。

2 關鍵技術實現

2.1 對象資源池化管理

以飛機本身為例,本游戲系統的資源管控方法基于游戲物體工廠管理UI、UI面板與游戲物體的激活與失活。游戲物體工廠擁有一個工廠基類BaseFactory,實現接口 IBaseFactory并在該基類中使用對象池技術,使子彈、怪物、敵機在生成時不必反復創建和銷毀對象,只需要從對象池中取出與放回對象便可節省系統資源。

游戲物體工廠擁有一個枚舉類型FactoryType,用于區分不同種類的游戲物體工廠。游戲物體工廠擁有三個工廠類GameFactory、UIFactory和UIPanelFactory繼承至工廠基類,它們之間的區別是修改了在對象池獲取資源時的資源路徑。

2.2 系統關鍵算法實現

2.2.1碰撞檢測基本原理

碰撞檢測主要是檢測兩個或多個物體是否相交,可以通過計算兩兩物體之間的位置關系進行判斷。或者可以說碰撞檢測主要是計算兩個物體在幾何空間上的重疊空間的問題。對于二維空間中的碰撞檢測來說,計算量不是很大,計算過程不算復雜,因為物體都在一個平面上。但是在三維空間中就不同了,三維空間的碰撞檢測要比二維中的碰撞檢測復雜的多。雖然同樣是由多邊形構成的三維物體,但是由于增加了一個維度,使得碰撞檢測的計算量大大的增加。

碰撞檢測主要檢測的是三個問題。第一個問題就是兩個或多個物體之間是否發生了碰撞。第二,如果發生了碰撞,那么是在什么時間發生的碰撞、碰撞的持續時間和碰撞結束的時間。第三,如果發生了碰撞,那么碰撞點在什么位置。這三個問題基本上占據了碰撞檢測的全部計算量,計算過程也因此變得十分復雜。

2.2.2基于OBB算法的碰撞檢測計算

在進行碰撞檢測之前需要通過調用AddBoxCollider方法給所檢測的剛性物體添加包圍盒。其中剛性物體包括飛機、子彈、飛碟、敵機等實際的物體。在此以行動中的飛機為例。把玩家操控的飛機作為A物體,先通過Distance(A,B)方法計算出其他物體與A(飛機)物體距離最近的物體。如果得到的距離小于0,則說明碰撞了。如果大于0則需要利用碰撞檢測技術具體計算。當得到的距離大于0時,利用OBB算法計算是否發生碰撞的規則如下所示。

Algorithm:collision?detection?based?on?OBB

Input:object?A?and?object?B

Output:whether?two?objects?collide?or?not?at?any?moment

Step1:SA←Get?All?Separating?Axis;

Step2:i←0;

Step3:result←FALSE;

Step4:do{

1)?CurrentSA?←SA[i];

2)?rA?←Get?Projection?on?CurrentSA?of?A;

3)?rB?←Get?Projection?on?CurrentSA?of?B;

4)?T*L←Get?Projection?distance?on?CurrentSA?between?A?and?B;

5)?If?(T*L?>rA+rB)

{??return??result←FALSE;

i++;??}

Else??return?result?←TRUE;

}while??!result

3 游戲策劃

3.1 游戲UI

(1)屏幕上會顯示主角的裝甲以及得分。如果游戲結束,屏幕上會顯示“游戲結束”,同時還會顯示出“重新開始”按鈕。

(2)主角

主角擁有三級裝甲,被敵人擊中或撞擊一次,則損失一次裝甲值,當裝甲值為0時,游戲結束。

3.2 游戲操作

(1)本游戲將在PC平臺上開發,按鍵盤上的W、S、A、D或上、下、左、右鍵控制主角上下左右飛行,按空格或鼠標左鍵射擊。

(2) 敵人

游戲中敵人分為初級敵人和高級敵人兩種:

初級敵人:裝甲較弱,為飛碟類,以撞擊主角為主,沿弧線飛行。

高級敵人:裝甲較強,為宇宙飛船類,可以發射子彈,后期子彈會越來越快,沿直線飛行。

4 系統實現

游戲有多個功能模塊,這里僅詳細講解“游戲開始”模塊和“游戲結束”模塊。

4.1游戲開始

(1)開始功能的實現

游戲開始,首頁顯示游戲開始按鈕,點擊“開始游戲”按鈕,進入游戲。

(2)開始按鈕的代碼:

PublicvoidOnResetButtonClick ()

{SceneManager. LoadScene(“Main”);

4.2游戲結束界面的實現

(1)重新開始按鈕

重啟按鈕主要說的就是在游戲中,你點擊“再試一次”按鈕,本游戲就會重新開始,但不會記錄此次所操作的分數。

PublicvoidOnResetButtonClick ()

{SceneManager.LoadScene(“StartUI" );

(2)分數顯示

分數是在游戲結束時保留數據,切換到場景后,游戲可以顯示讀取的數據,然后對多次的游戲份數進行保存,可以對游戲得數進行查詢。

4.3游戲主界面的實現

(1)場景的搭建

Unity包導入到項目中,將資源包作為面板直接拖放到項目中,然后選擇所有導入。導入后,選擇場景模型,拖放到“層次”面板,然后重置模型的變換組件。

(2)用戶的功能實現

需要在資源包中找到角色,把用戶主角放在“層次結構”窗格中。

5系統測試

此飛機大戰游戲在Unity3D Mono 模擬器上運行,游戲運行平穩,界面簡單易懂,操作簡單,畫面明亮。

6結語

從游戲的開始界面、游戲界面、游戲對象、游戲結束界面等模塊開始。使用Unity3D引擎,結合C#開發了一個簡單的飛機大戰游戲。游戲包括組件安裝、碰撞檢測和敵方出現位置是關鍵技術。基本實現了一般的游戲功能,可擴展性也很高。

參考文獻:

[1] 宣雨松,編著.Unity3D游戲開發[M].人民郵電出版社.2015

[2]曾雪松,尚光龍。三維虛擬校園漫游動畫設計與實現一 以信陽職業技術學院為例[J].福建電腦.2016.

[3]李莉,曾曉燕,李鍇,等.基于unity3d的模擬駕駛游戲.計算機產品與流通,2020(9):117-118.

作者簡介:

張照乾(1996-),男,漢族,河北邯鄲人,碩士,研究方向為計算機科學與技術、圖像處理

呂文超(1998-),男,漢族,河北滄州人,碩士,研究方向為計算機技術、深度學習

通信作者:黃猛(1976-),男,漢族,河南省新鄉人,碩士,教授,研究方向為GIS 、軟件工程、機器學習、深度學習、大數據分析,E-mail:hm@cidp.edu.cn

防災科技學院 河北三河 065201

主站蜘蛛池模板: 91在线激情在线观看| 亚洲精品视频免费看| 国产亚洲欧美日韩在线观看一区二区| 六月婷婷精品视频在线观看| 精久久久久无码区中文字幕| 九九这里只有精品视频| 亚洲中文字幕久久无码精品A| 在线日韩一区二区| 97se亚洲综合在线韩国专区福利| 青青草a国产免费观看| 亚洲成人福利网站| 精品在线免费播放| 日本不卡在线播放| 色欲色欲久久综合网| 国产特级毛片| 国产免费观看av大片的网站| 欧美特级AAAAAA视频免费观看| 色窝窝免费一区二区三区| 99视频在线免费看| 蜜芽国产尤物av尤物在线看| 日韩无码白| 亚洲天堂视频在线播放| 精品三级在线| 天天综合网站| 国产不卡在线看| 青青久在线视频免费观看| 婷婷成人综合| 亚洲精品国产首次亮相| 国产精品熟女亚洲AV麻豆| 国产精品99久久久| 亚洲日韩精品无码专区97| 成人精品视频一区二区在线| 欧美日韩成人在线观看| 色婷婷成人网| 久久国产精品国产自线拍| 日韩资源站| 日韩欧美在线观看| 国产在线精品网址你懂的| 97在线观看视频免费| 亚洲人成电影在线播放| 国产av色站网站| 国产精品无码AV中文| 色亚洲成人| 一级毛片免费播放视频| 亚洲天堂免费在线视频| 国产极品美女在线播放| 国产麻豆福利av在线播放| 日本高清成本人视频一区| 国产情精品嫩草影院88av| 成人综合久久综合| 国产青青操| 99草精品视频| 青青草91视频| 免费亚洲成人| 成人国产一区二区三区| 毛片网站在线看| 久久大香伊蕉在人线观看热2| 青草娱乐极品免费视频| 久久久久免费看成人影片 | 久久精品娱乐亚洲领先| 九色在线观看视频| 日本亚洲最大的色成网站www| 国产成本人片免费a∨短片| 国产在线精品香蕉麻豆| 国产无码精品在线| 亚洲成a人在线播放www| 自拍偷拍欧美日韩| 国产超薄肉色丝袜网站| 国产精鲁鲁网在线视频| 国产欧美日韩免费| 成人国产精品一级毛片天堂| 最新日韩AV网址在线观看| 波多野结衣视频网站| 亚洲综合色婷婷中文字幕| 亚洲AV无码久久精品色欲 | 区国产精品搜索视频| 99这里只有精品免费视频| 国产二级毛片| 午夜不卡视频| 婷婷亚洲天堂| 亚洲天堂首页| 中文字幕第4页|