2013年6月16日日曜日

オブジェクトの取得

画面上にボタンがいっぱいあって、それぞれのボタンを押したら押したボタンが反応するようにしたい。
で、ボタンの動作は色々あるから、単純に一つのスクリプトで動きを管理するんじゃなくて、それぞれのオブジェクトにスクリプトを用意しておいて、オブジェクト自身に付けられたスクリプトを動かしたいんです。



じゃあPanelを親にすればいいじゃないかという話もありますが、何となくそうしたいのです。

・子の検索
自分の子から「Find」できるのが「FindChild」です。
GameObject retChild = gameobject.transform.FindChild("子の名前").gameObject;

・名前で検索 
unity 画面上(階層上)からgameobjectを取得するには「Find」を使います。
GameObject target = GameObject.Find("ゲームオブジェクト名");

・階層で検索 
以下のように階層で指定することもできます。
GameObject target = GameObject.Find("root/box/target1");


なんとなくですが、階層で検索するのが使いやすそうですね。できれば、正規表現での検索とかあると今後楽そうですが・・・。とりあえずはこれで。

<追記>----------------------------
スクリプトがくっついているオブジェクト自体の取得
this.gameObject

0 コメント:

コメントを投稿