Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

GUIのレイアウトを設定する

画面上に情報を表示するには、GUIクラスを使う。が、複数の情報を表示する場合はレイアウトも含めて一括設定できる、GUILayoutクラスが便利。

GUI要素を、GUILayout.BeginArea()~GUILayout.EndArea()で挟んで記述する。

void OnGUI(){
	GUILayout.BeginArea(new Rect(16,16,300,300));
	GUILayout.Label(title, guiSkin.label);
	GUILayout.Label ("Time : "+lapseTime.ToString("0.0"), guiSkin.label);
	GUILayout.HorizontalSlider(70,0,100);
	GUILayout.Button ("Click!", guiSkin.button);
	GUILayout.EndArea();
}

上の例のように、個々の要素の位置や幅は指定する必要はなく、GUILayout.BeginArea(new Rect(x,y,w.h))で指定したエリア内に自動的に配置してくれる。

GUILayoutオプション
描画エリアの幅を自動調整する場合は、GUILayout.ExpandWidth(),
高さを自動調整する場合は、GUILayout.ExpandHeight()を指定する。
その他、固定幅、最小・最大幅・高さなどの指定ができる。