@Coddee.

Unity/C#とか、PHP/MySQLとか。ぺーぺーがプログラムの備忘録も兼ねて。

【Unity/C#】OnGUI関数でボタンやラベルを表示する

作成したUIオブジェクトの出力はOnGUI関数を使う

基本的に作成したオブジェクトをどうこうするには、OnGUIという関数を使うみたい。

void OnGUI()
{
    // ココに実際の処理を列記
}

関数内に、サイズや位置を調整するGUIコントロールの記述をしますー。

void OnGUI()
{
    // ラベルの出力
    GUI.Label(new Rect( X座標, Y座標, width, height ), "任意の出力テキスト");
    // ボタンの出力
    GUI.Button(new Rect( X座標, Y座標, width, height ), "任意の出力テキスト");
    // ボックスの出力
    GUI.Box(new Rect( X座標, Y座標, width, height ), "任意の出力テキスト");
    // チェックボックスの出力
    GUI.Toggle(new Rect( X座標, Y座標, width, height ), "任意の出力テキスト");
}

オーバーロード関数みたいなもんなんで注意!

上記、OnGUIは毎フレーム描画されているオーバーロード関数。
ソレを知らなかったボクは、つい繰り返し処理なんか入れちゃったもんで、
MacちゃんのCPUがMAX100%になっちゃいました...w
まぁなんとかなったのですがね。ちなみに作りたかったのはこちら。

void OnGUI()
{
    for(int togglePosY = 25; togglePosY <= 100; togglePosY += 25)
    {
        toggleBool = GUI.Toggle (new Rect (25, togglePosY, 100, 30), toggleBool, "Toggle");
    }
}

動的に個数を出力したかっただけなんですが、いろいろ意味の違う文献なんかあさっちゃって...
結構時間かかっちゃったな...。