天天看點

學習u3d筆記(三)u3d中對象位置變換

執行個體

有個物品在保證原來位置和方位不變的情況下,放入一個格子中(物品的坐标不亂)。

幾種方法實作:

GameObject item = Resources.Load<GameObject> ("gold"); //讀取資源中的預置物品“gold”

GameObject go = Instantiate(item) as GameObject;//建立預置物體對象執行個體

一般都是從Resources.Load後執行個體化的。執行個體化完畢後把item裡面預先設定的拷貝給Instiate()後的對象。

=================================================================

go . transform . localPosition = item . transform . position ; go . transform . localRotation = item . transform . rotation ; go . transform . localScale = item . transform . localScale ; ====================================================================

大多數情況下 都用 localPostion:000 localRotation:000 localScale:111。如下

go.transform.parent = cells[i].transform;//将新預置物體對象的父級變換元件定位到cell上

 go.transform.localPosition = Vector3.zero;

go.transform.localRotation = Quaternion.Euler(Vector3.zero);(

go.transform.localScale = Vector3.one;

==============================================================

也可直接調用setParent方法,将第二個bool設定為false,如下

go.transform.SetParent(cells[i].transform, false);

=============================================================

也可利用NguiTools.addchild(父級,子級)方法,如下

NguiTools.addchild(cells[i],item);