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)); }