MMORPG游戲論文 - 檢測_第1頁
MMORPG游戲論文 - 檢測_第2頁
MMORPG游戲論文 - 檢測_第3頁
MMORPG游戲論文 - 檢測_第4頁
MMORPG游戲論文 - 檢測_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE

34

緒論

選題的目的和意義

2017年我國游戲市場銷售收入2031.1億元,近年來,中國經(jīng)濟以8%的速度穩(wěn)步增長,過去2017年,中國游戲市場的實際銷售收入為2036億1000萬元,同比增長23%。這是第一次突破了600億的規(guī)模。游戲產(chǎn)業(yè)已成為經(jīng)濟市場中增長最快的熱點,也是公眾關注的焦點。游戲是文化創(chuàng)意產(chǎn)業(yè)的一部分。創(chuàng)意經(jīng)濟是知識經(jīng)濟的核心。它也是一種重要的經(jīng)濟表現(xiàn)形式。沒有創(chuàng)新就沒有新經(jīng)濟(1)。游戲設計是文化藝術創(chuàng)意與商品生產(chǎn)相結合的產(chǎn)物。游戲產(chǎn)業(yè)的發(fā)展對中國經(jīng)濟發(fā)展具有重要意義。

游戲的發(fā)展經(jīng)歷了2D游戲和3D游戲兩個階段。游戲設計,尤其是3D游戲開發(fā),結合了物理模擬、計算機圖形學和網(wǎng)絡通信,以及近年來移動平臺技術的快速發(fā)展。游戲的發(fā)展趨勢是向輕量化、微觀創(chuàng)新和時間碎片化的快速發(fā)展,如“憤怒的小鳥”、“國王的榮耀”和“絕對的”。地面上的玩家人數(shù)超過一億人

國內外的發(fā)展狀況

90年代初國外的3D游戲開始起步,第一個3D的第一人稱射擊游戲是回到美國KAMAK的德國總部。最早的3D游戲引擎是由它開發(fā)的末日引擎。國內3D游戲始于2003,第一次自主研發(fā),目前對3D游戲的研究很多,但由于國內3D技術起步較晚,與國外相比,從設計理念到技術層面,技術方面還不算小。他開發(fā)生產(chǎn),國內可以自主研發(fā)的3D游戲引擎,只有少數(shù)幾個。網(wǎng)絡公司、大多數(shù)游戲公司和游戲開發(fā)商仍在使用由國外大型游戲公司開發(fā)的游戲引擎,如Uny3D、S幻想和FROST。雖然近年來涌現(xiàn)出了許多優(yōu)秀的游戲團隊和游戲公司,但也出現(xiàn)了幾款高質量的3D游戲,如“古劍灘”系列、《劍與仙》系列等,但在國際游戲中還存在著不可逾越的鴻溝。“模擬人生”、“魔獸世界”、“戰(zhàn)場”系列等等。這也使得國內玩家的財富源源不斷地流向國外。

。

1.3論文組織結構

從原來的想法到實踐的分析,結合專業(yè)的3D游戲開發(fā)數(shù)據(jù),設計并制作了一個MMORPG游戲。本文介紹了游戲的制作步驟,包括一系列代碼和內部結構鏈接。全文共分為六個部分,主要內容如下:

第一部分:緒論,主要介紹畢業(yè)設計的背景、國內外相關研究的現(xiàn)狀以及設計的總體介紹。

第二部分:介紹了3D游戲的普遍結構以及Unity3D的大致介紹;

第三部分:游戲的創(chuàng)意,游戲系統(tǒng)的功能設計;

第四部分:詳細介紹了游戲各部分的制作,明確游戲的內在聯(lián)系,采取自下而上的步驟。

第五部分:運行游戲測試、包裝和包裝;

第六部分:結論、博弈缺陷及未來改進。

3D游戲的技術知識

2.13D圖形庫

API(ApplicationProgrammingInterface)函數(shù)是程序員經(jīng)常調用的3D圖形庫。圖形卡與應用程序之間的接口定義為Uny3D圖形庫。為了與之通信,硬件驅動程序在圖形卡中啟動強大的3D圖形處理功能,并產(chǎn)生3D游戲。

非常快的是3D圖形庫的高度可移植性。在設計中嚴格遵循計算機圖形學原理。它符合普通人對3D和光線的認知。點、線、面的三維特征需要程序員使用這些API函數(shù),適當?shù)墓庹?、合理的坐標系和石膏。使用固定參考幀,可以形成更逼真?D場景[2]。API函數(shù)被定義為獨立于任何編程語言的一組規(guī)范。具體語言的實現(xiàn)描述是由國際標準化組織制定的。許多三維演示系統(tǒng)使用3D圖形庫作為生成和控制3D圖形的編程接口。

2.2Unity3D

2.2.1Unity3D簡介

UNYT3D是由Unity技術開發(fā)的綜合性專業(yè)游戲引擎。它的功能使開發(fā)者能夠專注于游戲的設計,而忽略了底層技術的實現(xiàn),從而實現(xiàn)了快速發(fā)展的目標。統(tǒng)一類似于導演,攪拌機游戲引擎,Vioobe或扭矩游戲生成器。軟件編輯器在Windows和MacIOS下運行[3]。主要特點有:

圖形電源:DirectX和OpenGL圖形渲染庫,帶有內部封裝,帶有一些常用的渲染組件和著色器腳本。

物理模擬:UNYDIS3D不僅集成了NVIDIAPrACX物理引擎,還集成了游戲中使用的物理組件,如碰撞體、連接等。

跨平臺:可以向Windows、Mac、iOS、Android、Xbox、Wii或PS3平臺發(fā)布游戲,還可以使用UnityWeb播放器或Flash插件發(fā)布Web游戲以支持MAC和瀏覽。

資源商城:開發(fā)者可以在資源商城購買其他人的資源(代碼、模型等)以高效地重用。

資源服務器:一個統(tǒng)一的資源服務器是一個附加版本控制的產(chǎn)品,但它更適合于不同的位置的人在游戲團隊一起工作(程序,計劃,藝術)。

性能分析器:在引擎中使用分析器分析器,開發(fā)人員可以在CPU和GPU的不同階段對效率進行分析,它們由編輯器或設備連接

2.2.2Unity3D基本概念

完整的UNITY3D程序與許多場景(場景)相結合,每個場景包含多個游戲對象(游戲對象),每個游戲對象可以具有多個組件(組件),其中從MonoBehavior繼承的腳本組件被初始化、更新等;我們在現(xiàn)場看到了。內容由照相機(照相機)呈現(xiàn)和控制。

場景(場景):場景是UnyD3D程序的基本單元,任何UnyT3D程序由幾個場景組成,程序通過腳本在場景之間跳躍。場景是以場景圖的形式組織起來的。場景圖實際上是一個樹結構,每個節(jié)點都是一個游戲對象。對象和對象之間存在父子關系,即當父對象移動、旋轉和縮放時,子級對象也會一起改變[5],如圖2-1所示。

圖2-1旋轉一個父節(jié)點同時它的子節(jié)點也跟著旋轉

游戲對象:在場景中,場景圖是以場景圖的形式組織的。場景圖實際上是一種樹形結構,樹層次中的節(jié)點是在添加特定組件(如渲染網(wǎng)格、攝像機、光源等)之后具有實際功能的對象,并且可以將游戲對象打包成預處理格式文本。重復使用方便[6]。

組件(組件):組件可以是網(wǎng)格(網(wǎng)格)、光源(照相機)、照相機(照相機)、粒子系統(tǒng)(粒子)、物理碰撞體(Collider)、布(布)、連接器(關節(jié))、聲音(音頻)、動畫(動畫)和最重要的腳本(腳本)。UnyD3D的設計是基于面向對象的理論,UnyT3D支持三種腳本語言C、JavaScript和BOO。如果對象是從單行為腳本對象繼承的,則生命周期將移交給UnyTy3D進行管理,如圖2-2所示。

圖2-2MonoBehavior的生命周期

3.游戲設計

3.1游戲創(chuàng)意

游戲也遵循以上三個特點,下面是簡單的游戲策劃:

游戲名稱:《醉仙》

游戲類型:MMORPG類游戲

游戲平臺:Android

游戲模式:闖關模式

游戲玩法:玩家有初始裝備,可以在開始進行基礎攻擊。玩家首先進入的是新手村,進行操作的熟練,以及熟悉游戲環(huán)境。然后以任務驅動式的方式進行游戲。正式的游戲在戰(zhàn)斗場景進行,按照任務目標完成要擊殺的怪物的數(shù)量,然后打敗最后boss,完成任務,并獲得相應的獎勵,以用來裝備的升級和購買。

游戲操作:界面左下角有操作人物移動的搖桿,控制可控制人物任意方向移動。右下角有技能釋放鍵,分為一個主技能,三個副技能。

3.2游戲框架結構設計

如前文所述,一個游戲包含多個場景,游戲模塊為游戲提供了一些必要的功能。這些功能是完全獨立的和所有的場景。他們不知道卡片到底有多少等級,卡片的內容是什么。他們的主要任務是與游戲的控制單元交換信息以支持游戲。

核心模塊是圖形渲染和物理仿真。

。

3.3游戲層次結構設計

如前所述,UnyD3D中的每個場景根據(jù)樹層次結構來組織,并且每個游戲對象可以具有多個組件。因此,整個游戲系統(tǒng)的實施必須符合本規(guī)范。在本規(guī)范中,為了滿足軟件設計中高內聚和低耦合的原則,采用MVC模型設計了一個層次結構的游戲。其優(yōu)點是游戲的結構簡單明了,三層相互隔離,不相互影響。擴展方便。

如圖3-1所示。

圖3-1游戲層次結構圖

游戲系統(tǒng)分為三層:

視圖層:游戲對象主要添加到場景層次中。這些對象通常是渲染對象或相機。

控制層:添加到主相機或空對象的管理腳本組件。這些腳本主要控制相應的功能模塊,并與接口管理類和網(wǎng)絡在線管理類等其他功能模塊進行通信。

模型層:添加到渲染對象的邏輯腳本組件,這些組件應用于游戲對象。

行邏輯處理。

4.游戲實現(xiàn)

4.1場景渲染實現(xiàn)

考慮到游戲的需要,整個場景主要包括天空渲染盒、水面、地形、三維模型、投影、粒子系統(tǒng)等幾種渲染對象。,如圖4-1所示。

圖4-1游戲場景中的渲染對象

下面主要介紹一些重要渲染模塊的具體實現(xiàn)。

4.2地形

在UnyD3D中,地形是通過高度圖實現(xiàn)的。高度圖實際上是一個矩形灰度。在灰色圖案中,顏色以0~255表示。0代表黑色,255代表白色。像素越亮,地形越高,255個像素代表最高頂點,而相對的是像素灰度值和頂點。高度可以用公式(1)來表示。其中L是像素的灰度值、分別為Unity3D中定義的地形高度和地形最低點,求得網(wǎng)格頂點的高度y.

(1)

該程序在繪制地形時讀取圖片,并生成具有不同高度的矩形網(wǎng)格。這大大減少了游戲模型的尺寸[9]。

UnyD3D中的地形模塊不僅可以導入高度圖,而且可以使用畫筆繪制地形紋理、樹、草和巖石,這可以大大減少開發(fā)者的工作量[9]。

在一個新的項目之后,創(chuàng)建幾個文件夾來存儲游戲所需的所有材料,如小部件、材料、場景、腳本等,其中使用GIZOS來存儲標簽,材料被用來存儲材料,

場景用于存儲場景,腳本用于存儲腳本。

保存第一個場景并將其放置在場景中,命名為演示,在場景中是空的。在GameObject,3D對象是地形地形。如圖4-2所示。

圖4-2創(chuàng)建地形

在旁邊的組建面板就可看到如下工具,如圖4-3所示。

圖4-3組建面板

通過設置面板的地形,我們可以用諸如表面提升、表面模糊和地圖刷等工具來編輯地圖。經(jīng)過一系列修改后,原始地圖的空白將有一個基本的地圖風格游戲。如圖4-4所示。

圖4-4地圖

4.3光照和場景元素

當?shù)貓D被創(chuàng)建時,地圖被發(fā)現(xiàn)是黑暗的。當點擊運行時,地圖區(qū)域被顯示為黑色,因為場景中沒有光源,并且通過添加地形將并行光源添加到場景中。,如圖4-5所示。

圖4-5平行光源

你也可以通過調整光源的強度來調整面板的強度。從圖4-5可以看出,在添加光源之后,地圖顯然是明亮的。

然后添加場景中的元素,如樹、建筑物、裝飾等,并通過資產(chǎn)中的導入包選項導入所需的材料。所有的材料將被放置在預設的預置文件夾中,使得它可以很容易地重復使用,節(jié)省了硬件資源,減少了大量的勞動重復。如圖4-6所示。在元素等放置完畢后,地圖就做好了。

圖4-6預置元素

4.4導入模型

現(xiàn)在開始導入各類模型。Project面板下任意位置右擊,選中ImportPacket下的customePacket,如下圖4-7所示。并按著模型的存放位置,選擇導入即可。

圖4-7導入模型

這里的模型導入不光有任務以及場景的3D模型,還有2D的貼圖,圖片等模型,以完成游戲登錄界面的搭建。

4.5攝像機

因為游戲的場景比較大,我們需要攝像機把角色移動到場景的每一部分。接下來,您需要向相機添加腳本,當您處于角色時可以移動相機。

在為攝像機創(chuàng)建腳本之前,我們需要創(chuàng)建一個空的游戲體作為觀察對象的目標點,在導入字符模型時很容易替換。我們要創(chuàng)建它只有很少的代碼。如圖4-8所示。

圖4-8腳本

4.6游戲UI界面

接下來,需要創(chuàng)建一個游戲管理器,它有幾個作用,包括UI顯示,用戶名,賽區(qū)選擇,以及游戲開始。創(chuàng)建Sprite作為背景,3個Button為三個按鍵,分別表示用戶名,賽區(qū)選擇,游戲開始。如圖4-9所示。頁面上的三個按鍵,按鍵的背景為sprite,文字為UIText。兩者放在同一個空物體下做統(tǒng)一管理,為這個空物體添加UIButton組件,使其具有點擊功能。

圖4-9游戲管理器

點擊用戶名會自動彈出Tips如圖4-10所示,為用戶的登錄及注冊。

圖4-10用戶名

此tips為滑動進入,從一個坐標位置在規(guī)定時間內移動到指定坐標位置,此為Unity自帶的Tween功能實現(xiàn),如圖4-11所示。

圖4-11Tween

輸入框秩序在需要輸入文字的部分添加UIText組件,并為添加UIInput組件即可實現(xiàn)輸入功能。如圖4-12所示。

圖4-12輸入框組件

上方的關閉按鈕與開始按鈕,點擊后均為彈出另外一個Tips,均使用相同的方法,只是將運動的坐標反向設置,即可。這里的注冊按鈕為玩家為沒有注冊信息的玩家注冊信息,在本地有小型數(shù)據(jù)庫,用于保存玩家的注冊信息,在“設置密碼”與“確認密碼”兩個信息進行比較,若不一致,方便提醒用戶。如圖4-13所示。

圖4-13密碼不一致

賽區(qū)選擇是為了防止服務器壓力過大導致崩潰而采取的分流措施,本質上是與后端服務器進行交互,而租賃服務器會有很高的代價,本論文不做過多的設計只說明設計思路。選擇不同的賽區(qū)時,點擊不同的按鈕會將相應的信息發(fā)送到服務器,服務器做出分配[10]。如圖4-14所示。

圖4-14賽區(qū)選擇

多個賽區(qū)在窗口不能一次顯示完全,這里用的ScrollView,可以實現(xiàn)滑動效果。這里上方顯示的“已選”賽區(qū)文字用腳本控制,獲取按鈕上文字,并顯示在“已選”位置,腳本如圖4-15所示。

圖4-15賽區(qū)選擇腳本

開始游戲時可以選定人物角色,并為人物定義名字,這與上述玩家創(chuàng)建自己的賬號方法相似。

4.7新手村界面

圖4-16異步加載腳本

圖4-17異步加載效果圖

圖4-18新手村場景

新手村實現(xiàn)的功能主要是玩家購買裝備,裝備的升級以及任務的領取,體力及歷練值的恢復,這里的兩個值恢復為根據(jù)時間自動恢復。每分鐘恢復一個體力值和歷練值,這樣可以防止玩家過于沉迷游戲,有充足的休息時間。每次進行游戲會消耗一定的體力值。體力值回復的腳本文件及效果圖如圖4-19和4-20所示。

圖4-19體力恢復腳本

圖4-20體力恢復Tips

這里的金幣及鉆石是在完成任務以后自動獲取的,更名功能與前面設置人物名稱的功能相同不作過多解釋。

新手村的核心功能是背包系統(tǒng)的搭建,UI界面秩序將模型素材按著想要的方式擺放即可,對于N多游戲裝備不能完全保存在本地,這樣會加重本地內存的負擔,導致移動端產(chǎn)生卡頓等現(xiàn)象,影響游戲的體驗感。避免這種情況的方式就是將模型保存在服務器,本地只要預加載一定數(shù)量即可。裝備又有不同的屬性,裝備的模型也不一樣,但是要實現(xiàn)一一對應,將裝備的屬性信息上再加一條ID屬性,模型也對應的加上ID,只要匹配兩者的ID一直,其他屬性信息就一定是對應的。裝備的屬性信息存在配置表中為Text文件,用腳本代碼控制讀取轉化為引擎可用的信息。配置表信息如圖4-21所示,文件轉化腳本見附錄1。

圖4-21裝備配置表

技能系統(tǒng)的實現(xiàn)與背包系統(tǒng)的實現(xiàn)大體相似,從配置表中讀取技能信息,在與模型一一對應。配置表信息如圖4-22所示,技能界面效果圖如4-23所示,代碼與背包相似不作過多闡述。

圖4-22技能配置表

圖4-23技能效果圖

這里技能涉及到升級,技能具有基礎等級,點擊升級按鈕時,技能的等級會升高,這里采用MVC模式。腳本見附錄2。

任務系統(tǒng)中讀取配置表以及配置表的中的信息已按鈕一一對應的方式與背包中的方法時相似的。任務系統(tǒng)的核心功能是在玩家領取任務以后,游戲主角回自動跑向NPC完成對話,即任務的交接。這里使用的是自動尋路功能[11]。這里只要為主角添加尋路組件,如圖4-24所示。

圖4-24尋路組件

此組件可以設置人物尋路的速度,轉彎時的角速度,以及尋路停止時與目標點的距離。尋路的前提是將要尋路的地面烘焙成靜態(tài)的,相當于為尋路劃定尋路路線。烘焙的

圖4-25烘焙組件

方式及效果圖如圖4-25和4-26所示。

圖4-26烘焙效果圖

游戲的基本功能就是玩家可以操縱游戲主角不同方向的移動,這里需要第三方插件EasyTouch[12],插件的導入方式與模型的導入方式相同,導入后在Hierarchy面板會有如4-27所示的組件。

圖4-27EasyTouch插件

添加插件以后為主角添加一個腳本,EasyTouch默認的名稱為Newjoystick,在為主角添加的腳本中讓腳本找到這個名字,就可將第三方插件與游戲主角聯(lián)系起來,腳本文件如下:

usingSystem.Collections;

usingSystem.Collections.Generic;

usingUnityEngine;

publicclassMove:MonoBehaviour

{

Animatoranim;

publicfloatMoveSpeed;

voidOnEnable()

{

anim=this.GetComponent<Animator>();

EasyJoystick.On_JoystickMove+=OnJoystickMove;

EasyJoystick.On_JoystickMoveEnd+=OnJoystickMoveEnd;

}

voidOnJoystickMove(MovingJoystickmove)

{

floatPositionX=-move.joystickAxis.x;//獲取搖桿偏移搖桿中心的x坐標

floatPositionY=-move.joystickAxis.y;//獲取搖桿偏移搖桿中心的y坐標

if(move.joystickName=="Newjoystick1")

{

if(PositionX!=0||PositionY!=0)

{

transform.LookAt(newVector3(transform.position.x+PositionX,transform.position.y,transform.position.z+PositionY));

transform.Translate(Vector3.forward*Time.deltaTime*MoveSpeed);

anim.SetBool("walk",true);

}

}

}

voidOnJoystickMoveEnd(MovingJoystickmove)

{

anim.SetBool("walk",false);

}

voidOnDestroy()

{

EasyJoystick.On_JoystickMove-=OnJoystickMove;

EasyJoystick.On_JoystickMoveEnd-=OnJoystickMoveEnd;

}

這里在移動時與移動后,要執(zhí)行的是動畫的播放和停止。需要為主角添加Animator組件[13],在Inspector面板下的AddComponent中選中即可,如圖4-28所示。

圖4-28添加組件

同時也要在添加Animator是創(chuàng)建狀態(tài)基,方便切換任務的狀態(tài),這里添加狀態(tài)基在戰(zhàn)斗場景做詳細介紹。

4.8戰(zhàn)斗場景

領取完任務后地圖界面上選取要進的地圖位置,開始進入戰(zhàn)斗場景,這里又涉及到場景的跳轉,使用的仍然是異步加載功能進行頁面的過度。

戰(zhàn)斗場景中,主角將要進行的是擊殺怪物,首先擊殺小怪物,當小怪物全部擊殺完成的時候,Boss會自動出現(xiàn),并主動向主角移動,當接近主角一定范圍內的時候,將進行主動攻擊。戰(zhàn)斗場景的效果圖如圖4-29所示。

圖4-29戰(zhàn)斗場景效果圖

戰(zhàn)斗場景中的技能釋放按鈕與前面Tips中的按鈕實現(xiàn)效果相同,將導入的模型擺放在相應的位置后,為按鈕添加點擊事件,及點擊按鈕時執(zhí)行某種事件。添加點擊事件腳本見附錄3。

當點擊按鈕時開始播放攻擊動畫以及動畫的特效[14]。這是戰(zhàn)斗場景的主要內容。因為不同的攻擊動畫以及行走的動畫之間要不停的不定時的切換,因此這里主要運用的是動畫狀態(tài)基。戰(zhàn)斗場景中的動畫狀態(tài)基如圖4-30所示。

圖4-30動畫狀態(tài)基

這里不同格子是不同動畫,左側的Parameters控制不同的線路是否為開啟狀態(tài),如屬于開啟,動畫就會從當前的狀態(tài)沿線路進入另一個狀態(tài),如全部處于關閉狀態(tài),就回播放默認動畫,這樣就可以很方便的實現(xiàn)在行走與攻擊狀態(tài)下的動畫之間的切換[15]。

進入戰(zhàn)斗場景后,小怪物會自動向主角移動,當?shù)竭_一定距離時就會發(fā)起攻擊。引擎會實時監(jiān)測怪物與主角距離,這里使用監(jiān)本文件就行距離的檢測腳本如下:

voidStart()

{

navm=GetComponent<NavMeshAgent>();

anim=GetComponent<Animator>();

}

voidUpdate()

{

dis=Vector3.Distance(this.transform.position,player.position);

if(dis>=3)

{

anim.SetBool("Walk",true);

navm.SetDestination(player.position);

anim.SetBool("attack",false);

}

else

{

anim.SetBool("Walk",false);

player.LookAt(this.transform);

anim.SetBool("attack",true);

}

if(isDie)

{

anim.SetBool("die",true);

}

}

怪物向主角移動采用的是自動尋路,當兩者之間距離大于3的時,怪物播放行走的動畫,小于3時,開始播放攻擊的動畫。

4.9生命條

敵人在受到攻擊的時候,找們并不知道它受到了多少傷害,為了表示它的剩余生命值,我們需要為它創(chuàng)建一個生命條。本文用簡單的黃色和紅色的地圖制作了一個平面模型。我們將使用來改變平面模型UV,使得黃色代表剩余生命值,而紅色代表丟失的生命。如圖4-31所示。

圖4-31生命條

創(chuàng)建腳本如下:

publicclassplanBlood:MonoBehaviour

{

publicGameObjectMounster;

publicSliderbloodSlider;

voidStart()

{

bloodSlider.value=bloodSlider.maxValue;

}

voidOnTriggerEnter(Colliderother)

{

//主技能掉血

if(other.gameObject.tag=="Blood")

{

print("主技能生效");

bloodSlider.value-=0.01f;

}

//一技能掉血

if(other.gameObject.tag=="Ice")

{

print("一技能生效");

bloodSlider.value-=0.02f;

}

//二技能掉血

if(other.gameObject.tag=="boss")

{

print("二技能生效");

bloodSlider.value-=0.03f;

}

//三技能掉血

if(other.gameObject.tag=="Crow")

{

print("三技能生效");

bloodSlider.value-=0.04f;

}

//怪物死亡

if(bloodSlider.value<=0)

{

planGoPlayer.isDie=true;

Destroy(Mounster,5);

MonGoPlayer.isGo=true;

}

}

這個腳本中不同的技能產(chǎn)生的傷害程度不一樣,當怪物受到攻擊時,血條會減少,方便玩家看到怪物的受傷程度。每次攻擊時,當任務的武器碰到怪物時才會產(chǎn)生傷害,這里使用的事碰撞檢測,為怪物和武器添加碰撞組件[17]如圖4-32所示。

圖4-32碰撞檢測組件

勾選IsTrigger是組件才是碰撞檢測組件[18]。這樣就可以檢測到怪物是否受到攻擊。

5.游戲測試

5.1在Unity3D中運行測試

點擊軟件中的運行按鈕,如圖5-1所示。

圖5-1測試按鈕

游戲在軟件中測試運行,如圖5-2,5-3,5-4所示。

圖5-2軟件中測試

圖5-3軟件中測試

5-4軟件中測試

游戲能夠正常運行,沒有報錯,測試成功。

5.2Android平臺測試

點擊BuildSettings,出現(xiàn)如圖5-5窗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論