如何制作怪物显血

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点掉,就好了

posted @ 2017-08-08 21:57  萌新小L  阅读(270)  评论(0编辑  收藏  举报