變換元件因為特別常用,所以unity給出了簡易寫法。
另外整體原則就是:可以通過乙個遊戲物體獲取它上面的任一元件,可以通過任一元件獲得掛載該元件的遊戲物體。
①transform :獲取變換元件
② getcomponent:獲取其他元件
①transform item in transform ,注意不能寫成var item in transform,迭代所有子物體
②第二種是利用 transform.find(「子物體名」); 查詢特定某乙個子物體。
所有包涵物體間父子關係的訪問都在變換元件中,而不是通常認為的gameobject中。
③第二種是利用 transform.getchild (0);獲取第1個子物體的變換元件
利用gameobject.find等一系列的靜態方法。
因為find函式的效率不好估計,因此盡量在start函式中使用,而不是在update函式中使用。
以上方式適用於動態的,無法預估的,隨著遊戲的進行變換的遊戲物件。
和前面的方法都不一樣,前面的方法原理都是在**中獲取物體或元件,無論這個遊戲物體或元件是自身的,還是其他遊戲物件的。
這種通過變數的方法就是利用公共字段,在面板中以引數的方式提前設定。
現在可以把預先想要的遊戲物件拖拽到文字框中。
比如我想要獲取攝像機
單個變數可行,陣列或者列表來儲存多個遊戲物件也可行。
特別適用於不宜變化的,預先明確的遊戲物件。
unity裡面查詢所有物體
測試的時候發現乙個很詭異的bug,在prefab裡面的物體的屬性居然不斷的在變化,最後一步步除錯才發現,區別是查詢物體的api,特此記錄下 兩種api canvas canvasarray canvas object.findobjectsoftype typeof canvas 僅查詢當前場景中的...
Unity 查詢遊戲物體各種方法
findobjectoftype 查詢相應型別的遊戲物體,查詢到第乙個就返回 不查詢未啟用的物體,如果物體未啟用,返回值為null light light findobjectoftype 查詢光 findobjectsoftype查詢相應型別的遊戲物體,查詢全部,返回陣列 不查詢未啟用的物體 tr...
unity 查詢遊戲中隱藏的物體
在hierarchy 有時會隱藏一些遊戲物體,我們需要在遊戲的時候將其啟用狀態變為true 我們發現通過 gameobject.find 隱藏物體名字 是查詢不到隱藏物件的 我們可以通過以下方法來查詢遊戲物體 1.先在hierarchy面板建立父子關係 將父物體為啟用狀態,將隱藏的物體設定為子物體 ...