unity血条制作

  • Post author:
  • Post category:其他


选择UI->Image

将素材拖入Source Image,并点击Set Native Size,调整好大小

将锚点固定在左上角,由于锚点和图片中心的距离与整体成固定比例,这样能使图片随整体变化

同理,将头像图片设置好

将头像图片资源放入血条图片资源下,作为其子类,要使头像图片随血条图片变化而变化,需将锚点围住子类资源

同理将蓝色血条图片调整放好

设置新的图片资源,制作血条减少效果,重命名为Img _Mask,并添加Mask组件

将Show Mask Graphic取消勾选

这时把锚点左端对齐,这样图片缩放时就会居左对齐

使用如下脚本并将其添加上,并在相应的函数里添加 UIHealth.instance.SetValue(CurrentHealth / (float)MaxHealth);使用,其中CurrentHealth和MaxHealth是控制人物的当前血量和最大血量。

public class UIHealth : MonoBehaviour
{
    public Image mask;  //需引入using UnityEngine.UI;
    float originalSize;

    public static UIHealth instance { get; private set; }

    private void Awake()
    {
        instance = this; //初始化实例
    }

    // Start is called before the first frame update
    void Start()
    {
        originalSize = mask.rectTransform.rect.width;
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    public void SetValue(float fillvalue)
    {
        mask.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal,
            originalSize * fillvalue);
    }
}
 UIHealth.instance.SetValue(CurrentHealth / (float)MaxHealth);



版权声明:本文为qq_29172391原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。