1. 程式人生 > >Unity3D UGUI的一些注意點

Unity3D UGUI的一些注意點

     網上找了很多資料, 都沒有詳細的講解四個座標系的一些細節。這裡我想記錄一下。

1. 初學者們常常會把GetComponent<RectTransform>().position 和 transform.position 當成是兩個東西,其實他們是完全一樣的,在Ugui中,都表示的是世界座標系中的位置。

從程式碼上來講,RectTransform繼承自transform,其中也並沒有position欄位,因此它是繼承transform的position.

2.在Unity3d 4.6版本推出UGUI之後,他的座標就和螢幕座標對齊.我認為UI裡最重要的是畫布,細心的同學可以發現畫布的X和Y軸是不可以變化的,只有Z軸是可以變化,另外改變遊戲螢幕的尺寸,畫布的尺寸也會跟著變化,畫布的左下角為(0,0)點也就是世界座標的原點, 這樣設計的話 transform.position 其實就相當於一個螢幕座標,因此它就可以與Input.mousPosition 相比較了,anchoredPosition

3D 則是真正的Posx PosY的座標,座標原點由Pivot決定,與錨點無關,錨點只是起固定位置的作用(只需要變化pivot即可使人一點為座標原點)

3.視口座標系其實就是標準化之後的螢幕座標系. (0,0) (1,1)