自制NGUI HUD血条

纯文本查看  复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using UnityEngine;
using System.Collections;
public class Healthbar : MonoBehaviour {
     public GameObject TargetObject;         //目标物体。这里是指Cube
     public Camera worldcamera;         //世界相机。
     public Camera guiCamera;           //UI相机
     // Use this for initialization
     void Start()
     {
         worldcamera = NGUITools.FindCameraForLayer(TargetObject.layer);     //这里是通过物体的层获得相应层上的相机
         guiCamera = NGUITools.FindCameraForLayer( this .gameObject.layer);   //通过脚本所在物体的层获得相应层上的相机
     }
 
     // Update is called once per frame
     void Update()
     {
 
     }
     void LateUpdate()
     {
         Vector3 pos = worldcamera.WorldToScreenPoint(TargetObject.transform.position);         //获取目标物体的屏幕坐标
         pos = guiCamera.ScreenToWorldPoint(pos);                              //将屏幕坐标转换为UI的世界坐标
         pos.z = 0;                                //由于NGUI 2D界面的Z轴都为0,这里我们将坐标修改为0.只取其X,Y坐标。
         transform.position = new Vector3(pos.x,pos.y+0.23f,pos.z);      //将修改过的坐标赋给UI界面。这里指Panel_CharacterInfo
     }
}


NGUIToos 是一个辅助类
将脚本挂载到HUD_bar(NGUI物体上)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值