Unity C# 血條效果
- 此篇效果 –血條效果 * * * *
- 接下來進入完整教學 -
一、首先新增一個Image UI並將它命名為"HealthBar",並將其Height改成"10",再將它的顏色改成黑色
1. 設定HealthBar的寬度為100高度為10
2. 更改HealthBar的顏色為黑色
3. HealthBar在場景中的樣子
二、接下來我們複製"HealthBar"並將其命名為"Hurt"(Hurt會將HealthBar蓋過去),並將"Hurt"的顏色改成紅色,並將Hurt的Anchors改成middle/left
1. 修改Hurt的顏色為紅色
2. 將Hurt的Anchors改成middle/left(記得要按住Shift再點選)
3. Hurt在場景中的樣子
三、接下來我們複製 "HealthBar" 並將其命名為 "Lifepoint" (Hurt會將HealthBar蓋過去),並將 "LifePoint" 的顏色改成綠色
1. 將 " LifePoint" 的顏色改成 綠色
2. Hierarchy中的UI
3. 三個UI在場景中的樣子(Lifepoint會蓋過上面兩個)
四、接下來我我們新增一段程式碼叫做 "healthBar" ,並加下列程式碼貼在裡面
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class healthBar : MonoBehaviour {
//血量設定
public const int maxHealth = 100;
public int currentHealth = maxHealth;
//血量條
public RectTransform HealthBar,Hurt;
void Update()
{
//按下H鈕扣血
if (Input.GetKeyDown(KeyCode.H))
{
//接受傷害
currentHealth = currentHealth - 10;
}
//將綠色血條同步到當前血量長度
HealthBar.sizeDelta = new Vector2(currentHealth, HealthBar.sizeDelta.y);
//呈現傷害量
if (Hurt.sizeDelta.x > HealthBar.sizeDelta.x)
{
//讓傷害量(紅色血條)逐漸追上當前血量
Hurt.sizeDelta += new Vector2(-1, 0)*Time.deltaTime*10;
}
}
}
五、編輯完成後,我們在場景中新增一個空物件,並將其命名為"HealthController",然後將"HealthBar"程式碼新增給HealthController
六、"HealthBar"程式碼新增給HealthController後,我們將剛剛做好HealthBar 與Hurt血條拖曳進"HealthBar"程式碼的對應欄位中
七、做到這一步我們大致上就完成囉,接下來按下play後再按下H鍵進行測試即可。
-------------------------------------------------------------------------------------------------------------------------------------
我們有粉絲專頁囉!!!
如果怕有問題連絡不到我們,歡迎隨時私訊FB粉專哦!!!
https://www.facebook.com/Straying2018/
● 如果這篇文章有幫助到您,希望您能留言給予我們鼓勵 !
● 對於文章有任何的建議,非常歡迎留言告訴我們哦 !!!
● 有任何想知道的功能也歡迎告訴我們,我們會盡快寫成部落格分享給大家 !
- By Alex -
留言列表