任何人都知道我为什么会收到这个错误,当我将项目升级到最新版本的unity3d时出现此错误。
#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.active){
ts.Add(trans);
}
}
ts1 = new Array(ts.Count);
for(var i=0; i<ts.length; i++){
ts1[i] = ts[i];
}
}
}
&#13;
告诉我哪部分代码错了?
答案 0 :(得分:0)
Active不是属性。您需要使用activeSelf
类型的GameObject
属性。
transform.gameObject.activeSelf
您也可以使用:
transform.gameObject.activeInHierarchy
要修复您的代码,请替换此
if(!trans.active){
ts.Add(trans);
}
有了这个
if(!trans.gameObject.activeSelf ){
ts.Add(trans);
}
答案 1 :(得分:0)
目前此属性不存在。 您需要使用gameobject.active来检查活动状态,而不是transform.active。
#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];
}
}
}