1、unity canvas text显示
①参考:http://www.unity.5helpyou.com/3228.html
②在摄像头视角绑定角色(即角色在屏幕坐标位置始终不变)时,使用第一种方法。
③摄像头不绑定角色时,使用第二种方法,如果游戏中摄像头视角可变,则可以让canvas游戏物体的角度跟随摄像头角度做同等变化,这样canvas始终在屏幕平面显示。
2、角色伤害TextMesh显示
①参考:http://www.omuying.com/article/88.aspx
②伤害TextMesh显示 + 控制该游戏物体显示方式的HurtItem脚本 作为一个预制游戏物体。
③伤害显示的角色游戏物体 + 控制伤害显示坐标的RoleItem脚本 作为一个角色游戏物体(伤害宿主)。
using UnityEngine;
using System.Collections;
public class RoleItem : MonoBehaviour
{
public GameObject headObject;//伤害宿主
public GameObject hurtObject;//伤害显示
public void ChangeData(int hurt, Camera mainCamera)
{
GameObject gameObject = (GameObject)Instantiate(this.hurtObject);
if(gameObject != null)
{
gameObject.SetActive(true);
gameObject.transform.localScale = new Vector3(1f, 1f, 1f);
HurtItem hurtItem = gameObject.GetComponent<HurtItem>();
if(hurtItem != null) hurtItem.ChangeData (hurt, this.headObject.transform.TransformPoint (Vector3.zero), mainCamera);
}
}
}
④触发伤害方法(可添加触发条件)
public Camera main;//摄像头
public RoleItem roleItem;//角色(伤害宿主)
int i = Random.Range (5, 10);//伤害数值
roleItem.ChangeData(i, main);