版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農業(yè)文化遺產活化利用指南
- 煙草制品經營風險防控管理手冊
- 2026青龍湖(河北)產業(yè)發(fā)展集團有限公司招聘15人備考題庫及一套參考答案詳解
- 2026年原型設計工具高階應用培訓
- 計算機行業(yè)年度策略:AI應用加快全球格局重塑中
- 職業(yè)健康風險評估與員工職業(yè)發(fā)展動態(tài)調整機制
- 職業(yè)健康促進與職業(yè)健康效益優(yōu)化
- 職業(yè)健康與心理健康的整合干預策略-2
- 陽江2025年廣東陽江陽西縣新墟鎮(zhèn)招聘合同制禁毒工作人員筆試歷年參考題庫附帶答案詳解
- 邢臺2025年河北邢臺市襄都區(qū)招聘中小學幼兒園教師75人筆試歷年參考題庫附帶答案詳解
- 云南省玉溪市2025-2026學年八年級上學期1月期末物理試題(原卷版+解析版)
- 2026年哈爾濱通河縣第一批公益性崗位招聘62人考試參考試題及答案解析
- 六年級寒假家長會課件
- 就業(yè)協(xié)議書解約函模板
- 物流鐵路專用線工程節(jié)能評估報告
- 2026天津市南開區(qū)衛(wèi)生健康系統(tǒng)招聘事業(yè)單位60人(含高層次人才)備考核心試題附答案解析
- 重瞼手術知情同意書
- 研發(fā)部門員工加班管理細則
- 46566-2025溫室氣體管理體系管理手冊及全套程序文件
- 九師聯(lián)盟2026屆高三上學期12月聯(lián)考英語(第4次質量檢測)(含答案)
- 第21章 反比例函數(shù)(單元測試·綜合卷)(含答案)-滬科版(2024)九上
評論
0/150
提交評論