1. 程式人生 > >Unity3D學習之(血條的製作以及聲音的新增)

Unity3D學習之(血條的製作以及聲音的新增)

歡迎大家光臨我的部落格

知識點:

    1、為了讓敵人和主角保持一定的距離,我們運用的是Vector3.Distance( )方法,Distance這個方法代表了兩點之間的距離,呼叫這個方法可以讓敵方在一定距離之內追蹤我的位置。

    2、接下來是血條的製作,首先這個用到了GUI的知識點,首先在方法外面宣告Texture2D,然後建立一個OnGUI方法,用GUIDrawTexture來實現血條。

    3、小動作的聲音的新增,比如攻擊的動作發出的聲音。

一、判斷我和敵人的距離

//如果敵人的位置和我的位置小於4

Vector3.Distance(transform.position, girl.position) < 4f

//然後就呼叫下面這個方法

AnimationToWalk();

agent.SetDestination(girl.position);

//否則如果他倆的距離大於4

else if (Vector3.Distance(transform.position, girl.position) >4f)

            {

                AnimationToMode();                  //呼叫這個Mode方法

                agent.SetDestination(transform.position);  //然後讓敵人自身停留在原地

            }

二、製作血條

先來看一下效果圖:

    //先定義兩個貼圖,一個前景色,一個背景色,貼圖自己可以隨意選擇

public Texture2D blood_Red;

    public Texture2D blood_Black;

public int HP = 100;   //當血值達到100時,血條充滿狀態

//把貼圖一定記得新增↓

    //根據當前血量計算紅色血條顯示的寬度  

int blood_width = blood_Red.width * Girl.lifeTime / HP;

//繪製黑色血條  

GUI.DrawTexture(new Rect(20, 20, blood_Black.width, blood_Black.height), blood_Black);

//繪製紅色血條  

GUI.DrawTexture(new Rect(20, 20, blood_width, blood_Red.height), blood_Red);

//給文字改一下顏色

GUI.color = Color.green;

//在左上角顯示生命值

GUI.Label(new Rect(20, 20, 100, 35), "生命值為:" + girlLifeTime);

三、聲音的新增

public AudioClip clip;                //宣告一個clip音訊

    private AudioSource girlAudio;        //宣告一個靜態的音訊來源

    void Start()

    {

        girlAudio = this.audio;           //初始化一下

    }

    void OnTriggerEnter(Collider other)

    {

        if (other.tag == "Mouse")         //當主角碰到標籤為Mouse的物件時執行下面的操作

        {

            girlAudio.audio.PlayOneShot(clip);     //播放clip這個音訊

        }

}

相關推薦

Unity3D學習製作以及聲音新增

歡迎大家光臨我的部落格!知識點:    1、為了讓敵人和主角保持一定的距離,我們運用的是Vector3.Distance( )方法,Distance這個方法代表了兩點之間的距離,呼叫這個方法可以讓敵方在一定距離之內追蹤我的位置。    2、接下來是血條的製作,首先這個用到了G

Unity3d學習路-簡單粒子製作

簡單粒子製作 簡單粒子製作 實現要求 實現過程 製作魔法球和特效粒子 實現沿路徑移動

Unity3D學習習題練習

Unity3D學習之(習題拓展)1、使用continue計算1+3+5+...99①從上述運算中可以看出,1到99之的奇數相加的和。   首先要定義一個int sum=0;②從題意可知要用到for迴圈。   for(int i=1;i<100;i++)③然後題意還讓使用

Flex學習JS中呼叫Flex的方法

flex端    public function initApp():void    {     ExternalInterface.addCallback("function1",callback1);    }        public function callba

unity3d學習筆記十九--ngui製作人物頭頂的頭像和

本系列文章由Aimar_Johnny編寫,歡迎轉載,轉載請標明出處,謝謝。 http://blog.csdn.net/lzhq1982/article/details/18793479 先上張圖,自己做的一個demo。 這裡的人物頭像和血條是在3d世界生成的,所以

Unity3D學習筆記分別使用IMGUI和UGUI實現的預製設計

分別使用IMGUI和UGUI實現血條的預製設計 血條(Health Bar)的預製設計。具體要求如下: 分別使用 IMGUI 和 UGUI 實現 使用 UGUI,血條是遊戲物件的一個子元素,任何時候需要面對主攝像機 分析兩種實現的優缺點 給出預製的使用

unity3d學習筆記--NGUI製作遊戲介面

本系列文章由Aimar_Johnny編寫,歡迎轉載,轉載請標明出處,謝謝。 http://blog.csdn.net/lzhq1982/article/details/12706199 有關NGUI的介紹我這裡就不多說了,由於unity3d自帶的介面繪製工具GUI效率低下

網路遊戲《叢林戰爭》開發與學習:粘包分包現象以及服務端解析資料

1. 粘包和分包 粘包和分包是利用Socket在TCP協議下內部的優化機制。粘包指的是傳送資料比較頻繁,但資料量較少,此時客戶端不會直接將資料包傳送給伺服器,而是會與其它的資料包進行一個結合,例如遊戲中的位置資訊就是屬於頻繁傳送但資料量小的資訊,此時如果每條資料都S

機器學習特徵工程以及特徵選擇的工程方法

關於特徵工程(Feature Engineering),已經是很古老很常見的話題了,坊間常說:“資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已”。由此可見,特徵工程在機器學習中佔有相當重要的地位。在實際應用當中,可以說特徵工程是機器學習成功的關鍵。縱觀

Unity3D 學習日記 製作簡單的小地圖

在3D遊戲中常常使用小地圖來顯示自己角色所在的位置,之前專案遇到過用NGUI來製作一個簡單的小地圖的功能,嘗試製作一個簡單的小地圖功能,怎樣豐富小地圖的功能這個就要自己去慢慢摸索咯~ 用UGUI製作一個簡單的小地圖的思路有很多,這裡簡單介紹一下思路再大體弄一個小Demo出來

B-spline Curves 學習B樣曲線定義4

轉自:http://www.cnblogs.com/icmzn/p/5100789.html   給定 n + 1個控制點P0, P1, ..., Pn 和一個節點向量U = { u0, u1, ..., um },  p 次B-樣條曲線由這些控制點和節點向量U 定義  

Unity3D學習筆記十八使用外掛NGUI製作小地圖

原本只是想用Unity自帶的GUI功能實現魔獸世界的小地圖效果,結果折騰了一個晚上。原來的思路如下: 根據玩家座標,計算出應顯示的地圖縮圖部分(128×128); 用GUI遮罩將非白色的部分剔除(這樣可以實現任意形狀的小地圖); 將地圖框疊加到第二步中的紋理上; 將玩家指示

Unity3D---使用GUI實現製作

血條的製作有很多的方法,在此介紹使用GUI製作血條的方法,希望對大家有所幫助: using UnityEngine; using System.Collections; public class P

B-spline Curves 學習B樣曲線的移動控制點、修改節點分析7

轉自:http://www.cnblogs.com/icmzn/p/5101424.html   B-樣條曲線:移動控制點   移動控制點是改變B-樣條曲線形狀的最明顯的方法。在前面頁討論的區域性修改方案說明了修改控制點 Pi 的位置僅影響在區間[ui, ui+p+1)

Unity3D學習筆記3—— 製作簡單的太陽系

        這次要實現一個簡單的太陽系,太陽本身自帶光源,其他星球圍繞太陽的轉速不一樣(越遠的公轉越慢),且不在一個法平面上。         首先,在場景中建立1個太陽和9大行星,然後將它們分別命名。9大行星的排列順序是:水星、金星、地球、火星、木星、土星、天王星、海

Unity3D 人形製作小知識

這幾天用Unity3D做個射擊小遊戲,想做個人形的血條,百思不得其解,後來問了網上的牛牛們,解決了,其實挺簡單的,GUI裡面有個函式DrawTextureWithTexCoords就可以實現圖片的裁剪,很方便,裁剪之後,相信大家就都會操作了,話不多說,貼上程式碼與截圖效果

B-spline Curves 學習B樣基函式的定義與性質2

轉自:http://www.cnblogs.com/icmzn/p/5100761.html B-spline Basis Functions:Definition   貝塞爾基函式用作權重。B-樣條基函式也一樣;但更復雜。但是它有兩條貝塞爾基函式所沒有的特性,即(1

WorkerMan 入門學習基礎教程-Timer類的使用

timer類 定時 基礎教程 連接 worker loader 入門 入門學習 json 1、ServerTimer.php 代碼: <?php /** * 定時器學習 */ require_once __DIR__ . ‘/Workerman/Autoload

netty學習Reactor線程模型以及在netty中的應用

rec 直接 滿足 red 轉載 chan tail io處理 理論 轉載:http://blog.csdn.net/u010853261/article/details/55805216 說道netty的線程模型,我們第一反應就是經典的Reactor線程模型,下面我們就

MongoDB學習java連接

代碼 core UC mongo bte 就是 ava jar包 lan 上一章完了下mongodb的安裝和IDE工具,現在開始使用java進行連接。 第一步:使用jar包, 這裏需要三個包,具體為啥我也不清楚,反正因為報錯,我就按照官方文檔一個個的都下載了。 鏈接:htt