unity canvas text显示及其角色伤害TextMesh显示

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);

你可能感兴趣的:(unity)