如何制作怪物显血

using UnityEngine;

using System.Collections;

 

public class Follow3DObject : MonoBehaviour

{

 

    public Transform target;

    public Vector3 offset = new Vector3(0, 1, 0);

    void Update()

    {

        if (target != null)

        {

            transform.position = Camera.main.WorldToScreenPoint(target.position + offset);

        }

    }

}

这种方法是通过把脚本绑定在血条(血条需要自己制作,显示血量什么的在下面)上,然后把怪物目标拖到这里的target上。

 


转换一下就可以把脚本绑定在怪物身上,同时达成只有战斗时才触发!

using UnityEngine;

using UnityEngine.UI;

public class ShowBlood : MonoBehaviour

{

    public Image frame;

    public Image imageBlood;

    public Vector3 offset = new Vector3(0, 1, 0);

    void Update()

    {

        if (this.GetComponent<ArmyMove>().isBattle)

        {

            frame.gameObject.SetActive(true);

            frame.transform.position = Camera.main.WorldToScreenPoint(transform.position + offset);

            float blood = GetComponent<AbStatus>().Blood;

            float maxBlood = GetComponent<AbStatus>().MaxBlood;

            imageBlood.fillAmount = blood / maxBlood;

        }

        else {

            frame.gameObject.SetActive(false);

        }

      

    }

}


提示:如果UGUI设置阻挡后,血条显示会阻挡正常游戏,请在血条的image里把Raycast Target点掉,就好了

转载于:https://www.cnblogs.com/CasualAttachment/p/7309234.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值