====== 045 GUIコントロールについて ====== ===== 概要 ===== UnityでGUIのコントロールは各スクリプトに記述出来るOnGUIコールバック関数で実装します。 using UnityEngine; using System.Collections; public class HogeScript : MonoBehaviour { void OnGUI() { GUI.Box( new Rect(10,10,100,90), "GUI Menu" ); if(GUI.Button(new Rect(20,40,80,20), "Button1")) { // ボタンを押した時の処理を記述します。 } } } {{:wiki:unity:tips:ongui_button.png?200|}} GUI.Box でButton背景の四角形を配置し、その後、GUI.Button でボタンを配置しています。 OnGUI 関数は毎フレームよばれる点に注意して下さい。 ==== ボタンに画像を配置する ==== GUI.Button の第2引数は文字列の代わりにテクスチャを指定することもできます。 using UnityEngine; using System.Collections; public class HogeScript : MonoBehaviour { public Texture2D icon; void OnGUI() { GUI.Box( new Rect(10,10,100,90), "GUI Menu" ); if(GUI.Button(new Rect(20,40,80,20), icon)) { // ボタンを押した時の処理を記述します。 } } } {{:wiki:unity:tips:unity_ongui_icon.png?200|}} ==== ボタンにテキストと画像を配置する ==== GUI.Button の第3引数にGUIContent を指定すればボタンとテキストの両方を表示できます。 GUI.Button(new Rect(20,40,80,20), new GUIContent( "テキスト", icon ) ); {{:wiki:unity:tips:unity_ongui_icon_with_text.png?200|}} [[http://docs-jp.unity3d.com/Documentation/Components/gui-Controls.html|Unity - Unity Manual]]