11月
24
2013

非活性状態のGameObjectを活性状態にする

編集のために一部のGameObjectを非活性状態(active==false)にしておいて、起動時にすべて活性状態にしたい場合があったとします。

上の例では、Holeの子にHole1,Hole2,Hole3があり、Hole1とHole2は非活性状態です(Hole3を編集するために、不要なHole1,Hole2を非活性状態にしています)。
起動時にHole1,Hole2を活性状態にしたいのですが、GameObject.FindGameObjectWithTag()やGameObject.Find()だと非活性状態のGameObjectができず、SetActiveRecursively()がUnity4非奨励になって使えません。

そんなときは、活性状態にしたいGameObjectの親GameObjectのtransformから子を取得して活性状態にすることができます。

GameObject holeRootObj = GameObject.Find("Hole");
foreach( Transform child in holeRootObj.transform)
{
GameObject childGObj = child.gameObject;
childGObj.SetActive(true);
}

Leave a comment

開発したiPhoneアプリ

ワンパットゴルフ
パターゴルフゲーム

いい感じフリースロー
バスケットボールのフリースローゲーム

進撃のクレオパトラ
横スクロールアクションゲーム

リア充診断
写真を解析してリア充診断

Classifee
写真を解析して自動分類

Eye Net Surfer
目で操作できるWebブラウザ

どっちの絵が高い?
絵画クイズゲーム
ゲーム-トリビア1位

ハゲかつら
かつらキャッチゲーム

心霊写真なう
心霊写真を作るアプリ
写真44位

視線で読書なう
視線で操作するPDFリーダー
ブック10位

Gesture Books
ジェスチャー操作のPDFリーダー

アイビューワ
目で操作する写真ビューワ
写真4位、総合58位

ウインク検定
ウインク検定
ウインクの上手さの判定アプリ 

印象派なう
印象派なう
写真を印象派風に加工するアプリ
写真46位