码迷,mamicode.com
首页 > 其他好文 > 详细

将Unity中的世界坐标转换成NGUI中的坐标

时间:2014-08-14 08:14:58      阅读:435      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   ar   art   

将Unity中的世界坐标转换成NGUI中的坐标,比如可用于自制血条等。代码如下:

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

 

将Unity中的世界坐标转换成NGUI中的坐标,布布扣,bubuko.com

将Unity中的世界坐标转换成NGUI中的坐标

标签:style   blog   color   os   io   for   ar   art   

原文地址:http://www.cnblogs.com/atong/p/3911635.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!