強火で進め

このブログではプログラム関連の記事を中心に書いてます。

GUILayoutの解説

GUILayout は GUI とは異なり、自動的にレイアウトしてくれるGUIパーツを使う事が出来ます。

この様に書くと自動的に縦に並べて表示してくれます。

function OnGUI () {
	GUILayout.Button ("test1");
	GUILayout.Button ("test2");
	GUILayout.Button ("test3");
}

Space() を使うと余白を入れれます。

function OnGUI () {
	GUILayout.Button ("test1");
	GUILayout.Space (20);
	GUILayout.Button ("test2");
	GUILayout.Space (20);
	GUILayout.Button ("test3");
}

水平に(1グループとして)並べる。

function OnGUI () {
	GUILayout.BeginHorizontal ("box");
	
	GUILayout.Button ("test1");
	GUILayout.Space (20);
	GUILayout.Button ("test2");
	GUILayout.Space (20);
	GUILayout.Button ("test3");
	
	GUILayout.EndHorizontal ();
}

配置エリアを指定。

function OnGUI () {
	GUILayout.BeginArea (Rect (50, 50, 100, 150));
	GUILayout.Button ("test1");
	GUILayout.Button ("test2");
	GUILayout.Button ("test3");
	GUILayout.EndArea ();
}

自動的に拡大/縮小する空白。指定位置にバネが入った様に他のGUIパーツが左右や上下に押さえ込まれます。

function OnGUI () {
	GUILayout.BeginArea (Rect (0,0,100,150));
	GUILayout.Button ("test1");
	GUILayout.FlexibleSpace ();
	GUILayout.Button ("test2");
	GUILayout.Button ("test3");
	GUILayout.EndArea ();
}

最小の高さを指定。

function OnGUI () {
	GUILayout.BeginArea (Rect (0,0,100,150));
	GUILayout.Button ("test1", GUILayout.MinHeight(80));
	GUILayout.Button ("test2");
	GUILayout.Butto n("test3");
	GUILayout.EndArea();
}

他のGUIパーツに合わせてサイズを拡大させない。

function OnGUI () {
	GUILayout.Button ("test1 hoge fuga");
	GUILayout.Button ("test2");
	GUILayout.Button ("test3", GUILayout.ExpandWidth(false));
}