Job is Tech

エンジニア・デザイナー向けの、お役立ちWEBマガジン

【Unity】uGUIの素晴らしさに驚きを隠せなかった話【むーつん】

 

お疲れ様です。むーつんです。

Unity5アップデートからかなり経ちますが、しばらくUnityから離れていたもので、

ひさしぶりに何か作ってみようかと思ったのですが、話には聞いていたuGUIが想像以上に素晴らしかったので記事を書いてみます。

ボタンのクリック時に別ゲームオブジェクトの関数を呼び出したい

ボタンの押下タイミングでゲームオブジェクトのRigidBodyやらその他スクリプトにアクセスしたいって時に

従来だと

function OnGUI()
{
	if ( GUI.Button( Rect(100, 100, 100, 20), "Button" ) )
	{
		Debug.Log("Button Pushed");
         (GameObject).SendMessage ("kansuu");
	}
}

/*   対象のゲームオブジェクト内スクリプト */
function kansuu(){
  Debug.Log("ボタンが押されました");
}

こんな感じでButtonの押下状態を取得して

sendMessageで関数を発火させる処理を書いておりましたが、

uGUIではインスペクタ上で

あとは対象のゲームオブジェクトにスクリプトを割り当てたら終わり。

・・・楽すぎる。。。

その他uGUI

ということで

uGUIのおかげでUI面の処理が格段に簡単/直接的になってるのでシステムの管理がしやすくなってる印象です。

CanvasオブジェクトやEventSystemはまだ謎なので時間のある時に試してみようと思います。

エフォーション原