2016-05-31 161 views
1

創建GUI界面,我想創建在遊戲物體的位置的GUI用戶界面,特別是這個例子菜單:在遊戲物體位置

http://docs.unity3d.com/Manual/gui-Basics.html

我已經試過這樣:

new Rect (playerPosX, playerPosY, 100, 90) 

作爲使用gameObject.transform.position.x和y的第一個參數,但GUI是基於左上角的。

我該怎麼做?

+0

你是說你想要它基於左上角?你需要使用0,0來代替'playerPosX,playerPosY'的前2個參數 – Ash

+0

我想他想要相同的菜單,但不是左上角。他希望它是動態的,我會說.... –

回答

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

首先轉換成播放器的位置是在世界座標系(笛卡爾座標系)到屏幕座標空間,你所提到的基於左上角使用

Vecto3 temp = Camera.main.WorldToScreenPoint(playerPosition); 

那麼你只能使用temp的x和y分量(因爲左上角的位置)。

0

根據我的理解,你要找的不是GUItext mesh。 GUI將堅持你的(x,y)屏幕位置,但text mesh是你可以在場景的任何地方顯示你的遊戲對象附近。