Unity GameObject の子を含め一括でアクティブ/非アクティブを変更する
海賊王をめざす男 マツです。こんにちは。
Unity をはじめたころにやりたいことで、Scene に配置されている GameObject を子も含めて一括でアクティブ/非アクティブを変更するのがあります。
function Awake () {
ActiveChange(gameObject.transform, false);
}
function ActiveChange(targetGO : Transform, activedFlag : boolean) {
targetGO.active = activedFlag;
for (var child : Transform in targetGO) {
ActiveChange(child, activedFlag);
}
}
しかし、これはすぐにやめました。リファレンスをよく読んでみると SetActiveRecursively というのがあります。
targetGO.gameObject.SetActiveRecursively(false);
これで、子も含めて一括でアクティブ/非アクティブを変更することが可能です。

