我想在GameObject的位置创建一个GUI UI,特别是这个示例菜单:
http://docs.unity3d.com/Manual/gui-Basics.html
我试过这个:
new Rect (playerPosX, playerPosY, 100, 90)
作为使用gameObject.transform.position.x和y的第一个参数,但GUI是从左上角开始的。
我该怎么做?
答案 0 :(得分:2)
首先将世界坐标系(笛卡尔坐标系)中的玩家位置转换为您提到的左上角使用的屏幕坐标空间
Vecto3 temp = Camera.main.WorldToScreenPoint(playerPosition);
然后你可以只使用temp的x和y分量(因为左上角位置)。
答案 1 :(得分:1)
WorldToScreenPoint
会做到这一点
Unity Documentation
var pos = Camera.main.WorldToScreenPoint(GameObject.Find("NameOfObject").transform.position);
Rect d = new Rect(Screen.width - pos.x, Screen.height - pos.y, 400, 400);
答案 2 :(得分:0)