2017-09-13 64 views
0

任何人都知道我爲什麼會出現該錯誤,當我將我的項目升級到unity3d的最新版本時出現此錯誤。'active'不是'UnityEngine.Transform'的成員

#pragma strict 
 
@script ExecuteInEditMode 
 
function Start() { 
 

 
} 
 

 
var bool : boolean = false; 
 
var ts1 : Transform[]; 
 
function Update() { 
 
\t if(bool){ 
 
\t \t bool = false; 
 
\t \t var ts = new Array(); 
 
\t \t for(var trans : Transform in transform){ 
 
\t \t \t if(!trans.active){ 
 
\t \t \t \t ts.Add(trans); 
 
\t \t \t } 
 
\t \t } 
 
\t \t ts1 = new Array(ts.Count); 
 
\t \t for(var i=0; i<ts.length; i++){ 
 
\t \t \t ts1[i] = ts[i]; 
 
\t \t } 
 
\t } 
 
}

告訴我這部分的代碼是錯誤的?

回答

0

目前這個屬性不存在。 而不是transform.active,您需要使用gameobject.activeself來檢查活動狀態。

#pragma strict 
@script ExecuteInEditMode 
function Start() { 

} 

var bool : boolean = false; 
var ts1 : Transform[]; 
function Update() { 
    if(bool){ 
     bool = false; 
     var ts = new Array(); 
     for(var trans : Transform in transform){ 
      if(!trans.gameObject.activeSelf){ 
       ts.Add(trans); 
      } 
     } 
     ts1 = new Array(ts.Count); 
     for(var i=0; i<ts.length; i++){ 
      ts1[i] = ts[i]; 
     } 
    } 
} 
+0

感謝它修復,這部分即時得到錯誤與這個UIStone.transform.parent.active = true; ,我只是試圖改變activeSelf但得到錯誤 –

0

活動不是一個屬性。您需要使用GameObject類型的activeSelf屬性。

transform.gameObject.activeSelf 

您還可以使用:

transform.gameObject.activeInHierarchy 

要解決你的代碼,替換該

if(!trans.active){ 
    ts.Add(trans); 
} 

有了這個

if(!trans.gameObject.activeSelf){ 
    ts.Add(trans); 
} 
+0

活動不是gameobject的屬性...活動不存在。該屬性是積極的自我 – joreldraw

相關問題