【Unity】デバッグようにゲーム画面に情報を表示したい
OnGUI
メソッドを使って、ゲーム画面上に情報を表示してみましょう。OnGUI
メソッドは、Unityのゲーム内でGUI(グラフィカル・ユーザー・インターフェース)要素を描画するために使われるメソッドです。
GUILayout.Label
関数は、その名の通り、テキストラベルをGUI上に表示するために使用されます。この関数を使用することで、開発者はユーザーに対して簡単なテキスト情報を提供することができます。たとえば、ゲームのスコア、プレイヤーの状態、またはその他のデバッグ情報などが表示されることがあります。
OnGUI
は毎フレーム呼ばれるので、動的な情報をリアルタイムで更新して表示するのに適しています。ただし、OnGUI
を使用することはパフォーマンスに影響を与える可能性があるため、使用する際には注意が必要です。特に、大規模なアプリケーションや高いフレームレートを要求するゲームでは、新しいUIシステム(例えば、Canvas
と UI.Text
)を使用することが推奨されています。
基本のサンプル
ゲームオブジェクトにアタッチするだけです
using UnityEngine;
public class ShowGUI : MonoBehaviour
{
private void OnGUI()
{
GUILayout.Label("テスト");
}
}
表示位置を指定したい場合
指定した表示位置にGUI要素を配置するには、GUILayout.BeginArea
と GUILayout.EndArea
を使用して、要素が表示される矩形領域を定義する方法が便利です。以下にその例を示します。
using UnityEngine;
public class ShowGUILayout : MonoBehaviour
{
// 表示するエリアの位置とサイズを定義します
public Rect displayArea = new Rect(10, 10, 200, 50); // x, y, width, height
private void OnGUI()
{
// 指定した矩形領域内にGUIコントロールを開始
GUILayout.BeginArea(displayArea);
// ラベルを表示
GUILayout.Label("テスト");
// GUIコントロールの終了
GUILayout.EndArea();
}
}
このコードでは、displayArea
変数を使用してラベルが表示される位置とサイズを定義しています。Rect
のパラメーター (10, 10, 200, 50)
は、ラベルがスクリーン上での位置 (x, y)
と矩形の width
、height
を指定しています。BeginArea
と EndArea
の間に置かれたすべてのGUI要素(この場合は GUILayout.Label
)は、指定されたエリア内に配置されます。
この方法を使うことで、任意の場所にGUI要素を簡単に配置することができます。また、displayArea
の値を変更することで、表示位置やサイズを動的に変えることも可能です。
ディスカッション
コメント一覧
まだ、コメントがありません