国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

unity學(xué)習(xí)筆記----游戲練習(xí)06

這篇具有很好參考價(jià)值的文章主要介紹了unity學(xué)習(xí)筆記----游戲練習(xí)06。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、豌豆射手的子彈控制

創(chuàng)建腳本單獨(dú)控制子彈的運(yùn)動(dòng)

用transform來(lái)控制移動(dòng)

? ? void Update()
? ? {
? ? ? ? transform.Translate(Vector3.right * speed * Time.deltaTime);
? ? }

創(chuàng)建一個(gè)控制子彈速度的方法,方便速度的控制

private void SetSpeed(float speet)
? ? {
? ? ? ? this.speed = speet;
? ? }

回到控制豌豆射手的腳本中,當(dāng)調(diào)用他的射擊方法時(shí)去實(shí)例化子彈這樣就能實(shí)現(xiàn)豌豆射手的攻擊了。

? ? private void shoot()
? ? {
? ? ? ? BulletControl go = GameObject.Instantiate(PeaBulletPrefab, shootPointTransform.position, Quaternion.identity);
? ? ? ? go.SetSpeed(BulletSpeet);
? ? }

效果如下:

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

二、僵尸動(dòng)畫(huà)的開(kāi)發(fā)

普通的僵尸有五個(gè)動(dòng)畫(huà)狀態(tài)Eat 、Move、LostHeadMove、LostHandMove,Die他們之間的相互轉(zhuǎn)換關(guān)系如下:

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

在制作動(dòng)畫(huà)時(shí),幀動(dòng)畫(huà)可以直接拖拽到游戲物體上,相當(dāng)于給游戲物體上的動(dòng)畫(huà)狀態(tài)機(jī)添加新的動(dòng)畫(huà)。

添加動(dòng)畫(huà)后,效果如下:

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

在Zombie_Move和Zombie_Eat通過(guò)一個(gè)布爾變量來(lái)控,當(dāng)控制到敵人時(shí)就開(kāi)Eat,沒(méi)有碰到植物就Move。

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

當(dāng)IsAttacking為true時(shí),就會(huì)播放Eat動(dòng)畫(huà),然后將退出時(shí)間取消表示隨時(shí)都可以切換。

Move動(dòng)畫(huà)和LostHeadMove的切換時(shí)當(dāng)血量達(dá)到某個(gè)值的時(shí)候進(jìn)行切換,添加一個(gè)float類(lèi)型的參數(shù),

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

Eat動(dòng)畫(huà)和LostHeadEat的切換條件也是一樣的

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

其他動(dòng)畫(huà)狀態(tài)的切換也是類(lèi)似設(shè)置。

設(shè)置好了之后,當(dāng)參數(shù)達(dá)到對(duì)應(yīng)的值之后就會(huì)進(jìn)行不同狀態(tài)的切換。

測(cè)試效果如下:

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

三、僵尸功能開(kāi)發(fā)

1.行走功能

僵尸需要和植物之間進(jìn)行檢測(cè),因此要在僵尸上添加剛體組件,既然僵尸身上有剛體組件,那么就可以使用剛體組件來(lái)控制他的移動(dòng)。

因此就要為其添加剛體和碰撞器

Rigldbody 2D 、Box Collider 2D。

在僵尸的腳本上拿到剛體的引用

private Rigidbody2D rgd;

在start函數(shù)中獲取這個(gè)剛體組件

rgd = GetComponent<Rigidbody2D>();

然后通過(guò)MovePosition方法來(lái)進(jìn)行移動(dòng)

rgd.MovePosition(rgd.position + Vector2.left * moveSpeed * Time.deltaTime);

當(dāng)前的位置加上移動(dòng)的方向乘以移動(dòng)的速度和時(shí)間

2.攻擊功能

這個(gè)攻擊功能通過(guò)觸發(fā)檢測(cè)來(lái)進(jìn)行控制,將僵尸物體的Collider組件設(shè)置為觸發(fā)器,

然后再為每個(gè)植物添加一個(gè)觸發(fā)器。這樣僵尸和植物之間就能進(jìn)行觸發(fā)檢測(cè)了。

這里會(huì)出現(xiàn)一個(gè)問(wèn)題:植物無(wú)法被正常種植在地面上。

這是由于地面上也有觸發(fā)器,植物上的剛體會(huì)將地面上的覆蓋掉。

解決辦法是:在植物處于禁用狀態(tài)時(shí)將Box Collider 2D組件禁用掉,只有當(dāng)植物處于啟用狀態(tài)時(shí),再將Box Collider 2D組件啟用。

要確保僵尸植物進(jìn)行觸發(fā)檢測(cè),為所有植物添加一個(gè)標(biāo)簽plant。

在腳本中調(diào)用出發(fā)檢測(cè)的方法,當(dāng)與其碰撞的物體的標(biāo)簽為plant時(shí),就會(huì)執(zhí)行Eat動(dòng)畫(huà)

要執(zhí)行Eat動(dòng)畫(huà),就要獲取animation組件,

private Animator animator;

animator = GetComponent<Animator>();

然后通過(guò)OnTriggerEnter2D方法設(shè)置Isattacking參數(shù)為true,通過(guò)OnTriggerExit2D方法設(shè)置Isattacking參數(shù)為false。

? ? private void OnTriggerEnter2D(Collider2D collision)
? ? {
? ? ? ? if (collision.tag == "plant")
? ? ? ? {
? ? ? ? ? ? animator.SetBool("IsAttacking", true);
? ? ? ? }
? ? }
? ? private void OnTriggerExit2D(Collider2D collision)
? ? {
? ? ? ? if(collision.tag == "plant")
? ? ? ? {
? ? ? ? ? ? animator.SetBool("IsAttacking", false);
? ? ? ? }
? ? }

當(dāng)觸發(fā)器與植物碰撞時(shí)開(kāi)啟攻擊動(dòng)畫(huà),當(dāng)觸發(fā)器與植物分離時(shí)停止攻擊動(dòng)畫(huà)的功能。

效果如下:

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

此時(shí)會(huì)發(fā)現(xiàn)僵尸是在一邊移動(dòng)一邊吃植物,因此還要為僵尸設(shè)置三個(gè)狀態(tài),在對(duì)應(yīng)的狀態(tài)播放對(duì)應(yīng)的動(dòng)畫(huà)

enum ZombieState
{
? ? Move,
? ? Eat,
? ? Die
}

ZombieState zombieState = ZombieState.Move;//設(shè)置默認(rèn)狀態(tài)

通過(guò)switch方法來(lái)對(duì)不同的狀態(tài)進(jìn)行判斷,進(jìn)而執(zhí)行對(duì)應(yīng)的方法。

? void Update()
? ? {
? ? ? ? switch (zombieState)
? ? ? ? {
? ? ? ? ? ? case ZombieState.Move:
? ? ? ? ? ? ? ? MoveUpdate();
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case ZombieState.Eat:
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case ZombieState.Die:
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? ? ??
? ? }

最后效果如下:

unity學(xué)習(xí)筆記----游戲練習(xí)06,unity,學(xué)習(xí),筆記

當(dāng)接觸到植物時(shí)只會(huì)進(jìn)行eat動(dòng)畫(huà),當(dāng)植物被移除時(shí)只會(huì)進(jìn)行move動(dòng)畫(huà)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-823162.html

到了這里,關(guān)于unity學(xué)習(xí)筆記----游戲練習(xí)06的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity學(xué)習(xí)筆記--如何優(yōu)雅簡(jiǎn)便地利用對(duì)象池生成游戲?qū)ο螅ㄟM(jìn)階版)LRU + 對(duì)象池

    之前寫(xiě)過(guò)一篇關(guān)于對(duì)象池的文章,現(xiàn)在來(lái)看寫(xiě)的并不是很好,所以來(lái)考慮優(yōu)化下。 現(xiàn)在來(lái)看一年前寫(xiě)的代碼,越看越不能入目hhh Unity學(xué)習(xí)筆記–如何優(yōu)雅簡(jiǎn)便地利用對(duì)象池生成游戲?qū)ο?Unity學(xué)習(xí)筆記–使用 C# 開(kāi)發(fā)一個(gè) LRU PoolManager.cs BaseFactory.cs 創(chuàng)建 Factory 創(chuàng)建 object 創(chuàng)建 Bu

    2024年02月13日
    瀏覽(93)
  • 【Unity學(xué)習(xí)筆記】b站Unity架構(gòu)課Unity3D 商業(yè)化的網(wǎng)絡(luò)游戲架構(gòu)(高級(jí)/主程級(jí)別)

    【Unity學(xué)習(xí)筆記】b站Unity架構(gòu)課Unity3D 商業(yè)化的網(wǎng)絡(luò)游戲架構(gòu)(高級(jí)/主程級(jí)別)

    自己跟著學(xué)完了,寫(xiě)了不少代碼,會(huì)放在CSDN代碼庫(kù),因?yàn)槔蠋煵](méi)有提供源碼,錄屏也不是完全連續(xù),所以難免 有代碼缺少、無(wú)法運(yùn)行 的情況,但是確實(shí)學(xué)到了不少真本事,主要是了解老師的架構(gòu)思想。 b站課程地址 課程我自己是跟著學(xué)完了的,本文是個(gè)人筆記記錄和好課

    2024年02月02日
    瀏覽(90)
  • 用Unity3D制作FPS游戲的學(xué)習(xí)筆記————人物移動(dòng)、利用鼠標(biāo)實(shí)現(xiàn)視角轉(zhuǎn)動(dòng)和人物跳躍(含人物懸空不掉落修復(fù))

    用Unity3D制作FPS游戲的學(xué)習(xí)筆記————人物移動(dòng)、利用鼠標(biāo)實(shí)現(xiàn)視角轉(zhuǎn)動(dòng)和人物跳躍(含人物懸空不掉落修復(fù))

    前言: 這是我第一次發(fā)布文章,此文章僅供參考,我也是剛學(xué)習(xí)接觸untiy,在制作項(xiàng)目的過(guò)程中將有用的寫(xiě)下來(lái)記一記,以便自己之后能回頭看看,各位大佬輕點(diǎn)噴,若有錯(cuò)誤請(qǐng)麻煩積極提謝謝各位。該文章參考自B站UP主蔡先森_rm-rf發(fā)布的 【第一人稱(chēng)射擊游戲教程2.0【已完結(jié)

    2024年04月27日
    瀏覽(24)
  • 「 CISSP學(xué)習(xí)筆記 」06. 安全開(kāi)發(fā)

    「 CISSP學(xué)習(xí)筆記 」06. 安全開(kāi)發(fā)

    該知識(shí)領(lǐng)域涉及如下考點(diǎn),具體內(nèi)容分布于如下各個(gè)子章節(jié): 理解安全并將其融入軟件開(kāi)發(fā)生命周期 (SDLC) 中 在軟件開(kāi)發(fā)環(huán)境中識(shí)別和應(yīng)用安全控制 評(píng)估軟件安全的有效性 評(píng)估獲得軟件對(duì)安全的影響 定義并應(yīng)用安全編碼準(zhǔn)則和標(biāo)準(zhǔn) 6.1.1. 軟件開(kāi)發(fā) 系統(tǒng)開(kāi)發(fā)的每個(gè)階段都應(yīng)當(dāng)

    2024年01月19日
    瀏覽(48)
  • MySql學(xué)習(xí)筆記06——約束介紹

    約束對(duì)應(yīng)的英語(yǔ)單詞:constraint 在創(chuàng)建表的時(shí)候,我們可以給表中的字段加上一些約束,來(lái)保證這個(gè)表中數(shù)據(jù)的完整性、有效性!?。〖s束的作用就是為了保證:表中的數(shù)據(jù)有效??! 非空約束 not null 唯一性約束 unique 主鍵約束 primary key 外鍵約束 foreign key 檢查約束 check (mys

    2024年02月09日
    瀏覽(20)
  • WPF實(shí)戰(zhàn)學(xué)習(xí)筆記06-設(shè)置待辦事項(xiàng)界面

    創(chuàng)建待辦待辦事項(xiàng)集合并初始化 TodoViewModel: 創(chuàng)建綁定右側(cè)命令、變量 設(shè)置界面

    2024年02月15日
    瀏覽(91)
  • web安全學(xué)習(xí)筆記【06】——http\https抓包

    web安全學(xué)習(xí)筆記【06】——http\https抓包

    思維導(dǎo)圖放最后 #知識(shí)點(diǎn): 1、Web常規(guī)-系統(tǒng)中間件數(shù)據(jù)庫(kù)源碼等 2、Web其他-前后端軟件Docker分配站等 3、Web拓展-CDNWAFOSS反向負(fù)載均衡等 ----------------------------------- 1、APP架構(gòu)-封裝原生態(tài)H5flutter等 2、小程序架構(gòu)-WebH5JSVUE框架等 ----------------------------------- 1、滲透命令-常規(guī)命令文

    2024年01月24日
    瀏覽(18)
  • C語(yǔ)言學(xué)習(xí)筆記 VScode設(shè)置C環(huán)境-06

    C語(yǔ)言學(xué)習(xí)筆記 VScode設(shè)置C環(huán)境-06

    目錄 一、下載vscode軟件 ?二、安裝minGW軟件 ?三、VS Code安裝C/C++插件 3.1 搜索并安裝C/C++插件 ?3.2 配置C/C++環(huán)境 總結(jié) 在官網(wǎng)上下載最新的版本 Download Visual Studio Code - Mac, Linux, Windows https://code.visualstudio.com/download ? 注意: 1.在安裝過(guò)程不要有中文、特殊字符這些,還有其他盤(pán)符

    2024年02月15日
    瀏覽(28)
  • 數(shù)據(jù)分析基礎(chǔ)-數(shù)據(jù)可視化學(xué)習(xí)筆記06-交互架構(gòu)

    對(duì)視覺(jué)表?進(jìn)?操作 · 視覺(jué)分析的可視化應(yīng)有助于對(duì)視覺(jué)表?數(shù)據(jù)的操作 · ?系列反饋回路 · 概述 · 放?/縮? · 選擇 · 篩選 · 查找相關(guān)信息 · 促進(jìn)數(shù)據(jù)空間的探索。 · 選擇和操作 · 直接處理數(shù)據(jù)的視覺(jué)表?。 · 探索與導(dǎo)航 · 理解并?過(guò)視覺(jué)呈現(xiàn)的空間。 從列表中選

    2024年02月10日
    瀏覽(26)
  • Unity——2D小游戲筆記整理

    Unity——2D小游戲筆記整理

    【每日一句:清晨和夜晚都請(qǐng)用盡全力去生活】 目錄 一、環(huán)境搭建 二、人物 三、相機(jī)跟隨人物移動(dòng) 四、平鋪精靈 五、血條跟隨敵人行走 六、腳本邏輯 【玩家行走方法】 【玩家跳躍方法】 【改變玩家血量值方法】 【創(chuàng)建玩家子彈方法】 【主角血量,改變血條遮罩】 【敵

    2024年02月09日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包