选择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 版权协议,转载请附上原文出处链接和本声明。
