Unity 实现血条缓降效果

编译器

1.新建三个Image游戏物体,分别命名为BackGround, Mid, Front
请添加图片描述

2.为Mid和Front的Image放入一张原图像,选择Image Type为Filled,学则Fill Mode(填充方式)为Horizontal(水平填充),并将Fill origin(填充原点)设置为Left

请添加图片描述

效果

请添加图片描述

代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class HPUIDynamic : MonoBehaviour
{
    public float currentHP;
    public float maxHP;
    public float speed;

    [SerializeField] private Image mid;

    [SerializeField] private Image front;


    // Start is called before the first frame update
    void Start()
    {
        maxHP = 100f;
        currentHP = maxHP;

        front.fillAmount = currentHP;
        mid.fillAmount   = currentHP;
    }
    
    // Update is called once per frame
    void Update()
    {
        mid.fillAmount = Mathf.Lerp(mid.fillAmount, front.fillAmount, Time.deltaTime * speed);

        if(Input.GetKeyDown(KeyCode.Alpha1)){
            currentHP = Mathf.Clamp(currentHP - 10, 0, maxHP);
            front.fillAmount = currentHP / maxHP;
        }

        if(Input.GetKeyDown(KeyCode.Alpha2)){
            currentHP = Mathf.Clamp(currentHP + 10, 0, maxHP);
            front.fillAmount = currentHP / maxHP;
        }

    }
}

如果你更喜欢视屏的话(我也是学习的这个视频)点击这里

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值