创建GUI界面,我想创建在游戏物体的位置的GUI用户界面,特别是这个例子菜单:在游戏物体位置
http://docs.unity3d.com/Manual/gui-Basics.html
我已经试过这样:
new Rect (playerPosX, playerPosY, 100, 90)
作为使用gameObject.transform.position.x和y的第一个参数,但GUI是基于左上角的。
我该怎么做?
创建GUI界面,我想创建在游戏物体的位置的GUI用户界面,特别是这个例子菜单:在游戏物体位置
http://docs.unity3d.com/Manual/gui-Basics.html
我已经试过这样:
new Rect (playerPosX, playerPosY, 100, 90)
作为使用gameObject.transform.position.x和y的第一个参数,但GUI是基于左上角的。
我该怎么做?
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);
首先转换成播放器的位置是在世界坐标系(笛卡尔坐标系)到屏幕坐标空间,你所提到的基于左上角使用
Vecto3 temp = Camera.main.WorldToScreenPoint(playerPosition);
那么你只能使用temp的x和y分量(因为左上角的位置)。
你是说你想要它基于左上角?你需要使用0,0来代替'playerPosX,playerPosY'的前2个参数 – Ash
我想他想要相同的菜单,但不是左上角。他希望它是动态的,我会说.... –