Unity GUIコントロールの概要


IMGUIのControlsコントロールタイプまとめ


1.Label


インタラクティブではなく、クリックしたり移動したりすることができず、情報を表示するためにのみ使用されます.インタラクティブでないControlは戻り値を必要とせず、インタラクティブである必要がある変数は戻り値を受信する.
GUI.Lable(new Rect(0,0,100,100),"Label");

2.Button


これは簡単なButtonで、押すたびにどのくらい押しても1回だけイベントをクリックし、buttonボタンが解放されたときにイベントに応答します.
if(GUI.Button(new Rect(0,0,100,100),"Button")){
    //do when button is clicked
}

3.RepeatButton


Buttonとの違いは、1回クリックした後も、1回クリックした後も応答イベントがその後のフレームごとに呼び出されるように押下状態を維持し続けることです.
if(GUI.RepeatButton(new Rect(0,0,100,100),"RepeatButton"))

4.TextField / AreaField


1行の表示と複数行の情報の表示(改行可能)の違い

5.Toggle


ラジオボックスには、2つの状態があり、クリックで切り替えます.注意関数パラメータは、2番目がToggleの現在の状態であり、一般的に受信状態の変数と同じである.
bool toggleState=false;
toggleState=GUI.Toggle(new Rect(0,0,10,10),toggleState, new GUIContent("toggle"));

6.ToolBar


ツールバーには、ボタンの行が含まれています.ラジオのToggleグループやくじのように選択できるボタンは毎回1つしかありません.
注意関数パラメータ:3番目のパラメータはGUIContent配列で、2番目のパラメータは現在アクティブなボタンのインデックスです.
戻り値は、現在選択されているボタンインデックス値です.
private int toolbarInt=0;
private GUIContent[] toolbarContents={new GUIContent("toolbar1"),new GUIContent("toolbar2"),new GUIContent("toolbar3")};

void OnGUI(){
    toolbarInt=GUI.Toolbar(new Rect(),toobarInt,toolbarContents);
}

7.SelectionGrid


それは1つの多行のToolbarで、つまり前のToolbarの基礎の上で第4のパラメータを加えて、つまりこのGridの行数で、その他はToolbarと同じです;
ボタングループの列を作成する場合は、これを使用して、ボタンの数と行数を同じにすればいいです.

8.HorizontalSlider / VerticalSlider


スライダをドラッグして値を変更する水平スライドバーを作成します.
関数パラメータ:2番目のパラメータは現在のスライドバーの値で、3番目と4番目はスライダの両端の最大値と最小値です.
float sliderVal=3;
sliderVal=GUI.HorizontalSlider(new Rect(),sliderVal,0,10.0f);

9.HorizontalScrollbar / VerticalScrollbar


スクロールバー、ビューをスクロールするために使用されることが多い.スライドバーと似ていますが、パラメータが1つ増えています.3番目のパラメータは、スライダのサイズを定義し、ビューが表示されるサイズを決定します.
float barVal=GUI.VerticalScrollbar(new Rect(),barVal,1.0,0,10);

10.ScrollViewの実装、BeginScrollView()およびEndScrollView()


1つのスクロールビューは主に3つの部分から構成され、最も周辺の大きなpanel、スクロールに使用されるビュー、およびスクロールバーである.したがって、関数パラメータもこの3つと関係があります.
BeginScrollViewの最初のパラメータRectは、ScrollView全体のサイズを定義します.2番目のパラメータVector 2は、水平方向と数値方向のスクロール値を定義し、スクロール時に返します.3番目のパラメータRectは、内部スクロールビューのサイズ(位置が1番目のRectに対して)を定義する.4番目と5番目のパラメータboolは、水平と数値を表示するかどうかのスクロールバーをそれぞれ定義します.
戻り値は、スクロールビューのスクロール位置を返すVector 2です.
GUI.BeginScrollView(new Rect(),Vector2.zero,new Rect(),true,true)
GUI.EndScrollView();

11.Window


Windowsはドラッグ可能なControlで、クリックされたときにfocusを受信したり失ったりすることができます.したがって、その実装は他のControlとは少し異なり、各ウィンドウにidがあり、ウィンドウを選択するとコールバック関数のパラメータが呼び出されます.
パラメータ:最初のパラメータはidで、2番目のパラメータはRectで、3番目のパラメータはウィンドウの描画関数で、4番目はGUIContentです.
void OnGUI(){
    Rect WindowRect=new Rect();
    WindowRect=GUI.Window(0,WindowRect,WndFunc,new GUIContent());
}

void WndFunc(){
    //Draw any Controls inside the windows
}

12.GUI.changed


GUIでのユーザの動作を検出するために使用され、変更が検出された場合にのみ、フレームごとに値付与作業を行うのではなく、いくつかの値付与作業を行うことができます.