Unity游戲開發(fā)之射擊小游戲的實現(xiàn)_第1頁
Unity游戲開發(fā)之射擊小游戲的實現(xiàn)_第2頁
Unity游戲開發(fā)之射擊小游戲的實現(xiàn)_第3頁
Unity游戲開發(fā)之射擊小游戲的實現(xiàn)_第4頁
Unity游戲開發(fā)之射擊小游戲的實現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第Unity游戲開發(fā)之射擊小游戲的實現(xiàn)目錄前言游戲畫面展示游戲代碼解析游戲打包總結

前言

人們一直都說學習和玩游戲不能兼顧,那我們就來邊學習怎樣制作游戲,邊玩游戲不就兼得了嘛~我可真是一個小天才呢~

所以本篇文章為大家?guī)硪粋€橫版2D射擊小游戲,游戲制作超級簡單,玩法一學就會,一起來看看吧!

游戲畫面展示

這款小游戲只用了兩個UI界面,一個是菜單界面,另一個是戰(zhàn)斗界面

菜單界面有三種模式,分別是一般、困難和地獄

戰(zhàn)斗界面就是很簡單的從兩邊刷野怪,然后主角開槍打死他們

UI搭建很簡單,只有一張背景圖使用Image,加上一個Text文本輸入框,然后擺放一下位置即可!

菜單界面如下

戰(zhàn)斗畫面演示

游戲代碼解析

這款橫版2D射擊小游戲,核心部分只需要兩個腳本就可以完成,一學就會,一起來看一下代碼吧!

一個掛載到玩家身上的腳本PlayerMove,用于控制玩家的左右移動和跳躍

還有兩種開槍的方法,分別是穿透和重擊!當碰到怪物的時候就會掉血

當玩家血量低于0的時候就跳出游戲結束的畫面,非常簡單清晰的邏輯!

代碼如下,一個沒有多少行,代碼內容也是Unity最基礎的知識點,相信稍微懂一點的人也都能看懂

PlayerMove代碼如下

usingSystem.Collections;

usingSystem.Collections.Generic;

usingUnityEngine;

usingUnityEngine.UI;

publicclassPlayerMove:MonoBehaviour{

///summary

///生命值

////summary

publicintHP;

publicSliderhpUI;

///summary

///動畫組建

////summary

publicAnimator_animator;

///summary

///擊殺

////summary

publicstaticintjisha;

publicTextjishaUI;

publicTextjishaUIEnd;

///summary

///是否跳躍

////summary

publicboolisJump;

///summary

///游戲結束UI

////summary

publicGameObjectui;

//Usethisforinitialization

voidStart()

Time.timeScale=1;

jisha=0;

hpUI.maxValue=HP;

hpUI.value=HP;

//Updateiscalledonceperframe

voidUpdate()

if(Input.GetKeyDown(KeyCode.Escape))

UnityEngine.SceneManagement.SceneManager.LoadScene("Menu");

if(HP=0)

HP=0;

jishaUI.text="擊殺:"+jisha;

jishaUIEnd.text="擊殺:"+jisha;

if(HP==0)

ui.SetActive(true);

Time.timeScale=0;

hpUI.transform.position=Camera.main.WorldToScreenPoint(transform.position+newVector3(0,3,0));

hpUI.value=HP;

if(Input.GetKey(KeyCode.D))

transform.localEulerAngles=newVector3(0,0,0);

transform.Translate(Vector3.right*Time.deltaTime*7);

_animator.SetBool("run",true);

elseif(Input.GetKey(KeyCode.A))

transform.localEulerAngles=newVector3(0,180,0);

transform.Translate(Vector3.right*Time.deltaTime*7);

_animator.SetBool("run",true);

else

_animator.SetBool("run",false);

if(Input.GetKeyDown(KeyCode.Space)!isJump)

GetComponentRigidbody2D().velocity=newVector2(0,30);

if(isJump)

_animator.SetBool("Jump",true);

else

_animator.SetBool("Jump",false);

if(Input.GetKeyDown(KeyCode.J))

GameObjectn=Instantiate(Resources.Load("a1"),transform.GetChild(0).position,transform.GetChild(0).rotation)asGameObject;

="a1";

Destroy(n,2);

if(Input.GetKeyDown(KeyCode.K))

GameObjectn=Instantiate(Resources.Load("a2"),transform.GetChild(0).position,transform.GetChild(0).rotation)asGameObject;

="a2";

Destroy(n,2);

privatevoidOnTriggerStay2D(Collider2Dcollision)

if(=="0")

isJump=false;

privatevoidOnTriggerExit2D(Collider2Dcollision)

if(=="0")

isJump=true;

publicvoidReturnMenu()

UnityEngine.SceneManagement.SceneManager.LoadScene("Menu");

}

還有一個Monster腳本,用于顯示怪物的生命、速度和攻擊力等

還有受到玩家打出的子彈就會掉血,很簡單的方法就可以實現(xiàn)!

完整代碼如下:

usingSystem.Collections;

usingSystem.Collections.Generic;

usingUnityEngine;

usingUnityEngine.UI;

publicclassMonster:MonoBehaviour{

///summary

溫馨提示

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

最新文檔

評論

0/150

提交評論