Unity腳本:激活遊戲物件
- 詳細內容
- 分類:Unity
- 發佈:2014-04-08, 週二 23:03
- 點擊數:3144
Unity腳本:激活遊戲物件
在Unity腳本中,要激活遊戲物件的方法就是使用遊戲物件的SetActive方法:
gameObject.SetActive(true);
短短一行程式碼,但依然有要注意的地方。
首先遊戲物件在未激活的狀態下,本身的腳本是不會執行的,
所以如果你在一個激活的遊戲物件的start()函式中使用下面程式碼:
gameObject.SetActive(false);
可以成功地將物件變成非激活狀態,
但是在一個非激活的物件中使用下面程式碼:
gameObject.SetActive(true);
是無法讓物件激活的,因為這個腳本根本就不會執行。
所以必須在其他遊戲物件的腳本中取得要激活的遊戲物件,然後才能再將其激活。
另外一個重點是,對於有子物件的遊戲物件而言,
自身的激活狀態並不影響其子物件的激活狀態。
不會因為父物件被轉為非激活,子物件就變成非激活。
但是在場景中,父物件是非激活的狀態下,即便子物件本身是激活狀態,
也不會在場景中顯示。
而父物件在激活狀態下,子物件的非激活會讓子物件消失在場景中。
譬如說B物件是A物件的子物件,
當 A物件處在非激活狀態,B物件是激活狀態==>場景中視看不到A物件與B物件
當 A物件處在激活狀態,B物件是非激活狀態==>場景中視看不到B物件
要取得自身的激活狀態可以使用遊戲物件的activeSelf屬性,
而要取得所屬階層結構的激活狀態可以使用遊戲物件的activeInHierarchy屬性。
下面是來自官網教學的js程式:
#pragma strict public var myObject :GameObject; function Start () { Debug.Log("Active Self: " + myObject.activeSelf); Debug.Log("Active in Hierarchy" + myObject.activeInHierarchy); }
官網的教學:
按個讚!~支持本站!~
FB推薦載入中