Unity-血条控制

血条控制

创建血条

血条的创建
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";
    }
}

猜你喜欢

转载自blog.csdn.net/AD_GOD/article/details/124229694