创建血条
血条的创建
1.使用Slider来控制血条的变化,将Fill改变颜色,将Slider中的Handle禁用,会发现Value最大时Fill没有填满,这时可以通过改变Fill的大小和位置将backgrand填满或直接将backgrand禁用。
代码实现
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class BleedChange : MonoBehaviour
{
public Text text;
public Slider slider;
private int MaxHp=100;
private int CurructHp;
public Image image;//Slider中的Fill
private void Start()
{
CurructHp = MaxHp;
}
public void Update()
{
if (Input.GetKeyDown(KeyCode.Backspace))//按下空格血量减10
{
PlayerBleedChange(10);
}
if(Input.GetKeyDown(KeyCode.K))//按K减20
{
PlayerBleedChange(20);
}
}
public void PlayerBleedChange(int damage)//血量减少方法
{
CurructHp -= damage;//血量减少
ShowBleed();
if(CurructHp<=20)//当血量为20以下时血条显红色
{
image.color = Color.red;
}
}
public void ShowBleed()//用文本显示血量
{
slider.value = CurructHp /(float) MaxHp;
text.text = 100 * slider.value + "/100";
}
}