您的位置:首页 > 产品设计 > UI/UE

NGUI,世界坐标,屏幕坐标转换

2017-08-29 00:00 771 查看
1.世界坐标转屏幕坐标

假定世界有一点坐标为pos,其转换为屏幕坐标为:

Camera.main.WorldToScreenPoint(pos);

2.屏幕坐标转世界坐标

假定屏幕有一点坐标为pos,其转换为世界坐标为:

Camera.main.ScreenToWorldPoint(pos);

3.屏幕坐标转NGUI坐标

假定屏幕有一点坐标为pos,其转换为NGUI坐标为:

UICamera.currentCamera.ScreenToWorldPoint(pos);

这个需要注意的是,得到的坐标为全球坐标,而不是本地坐标,所以NGUI的组件设置位置需要设置position而不是localPosition,我当时就是被这个坑过(┬_┬)

4.NGUI坐标转屏幕坐标

假定NGUI有一点坐标为pos,其转换为NGUI坐标为:

UICamera.currentCamera.WorldToScreenPoint(pos);

5.世界坐标转NGUI坐标

假定屏幕有一点世界为pos,其转换为NGUI坐标为:

需要先把世界坐标转为屏幕坐标

Vector3 screenPos=Camera.main.WorldToScreenPoint(pos);

然后再把屏幕坐标转NGUI坐标

UICamera.currentCamera.ScreenToWorldPoint(screenPos);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: