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