デバッグ
文字を出力する
ゲーム開発環境である Unity は、DirectX や OpenGL といったグラフィック API を意識することなく、容易に3次元グラフィックを扱えます。しかし、変数等の値を確認するためにテキストとして表示するとき、これをゲーム画面上にレイアウトするのは手間となるでしょう。開発段階で、便利にデバッグする方法が必要です。
開発中のデバッグに必要となる機能は UnityEngine.Debug クラスから提供されます。
public sealed class Debug
例えば Unity の「Console」ウィンドウにテキストを表示するには Debug クラスの Log() メソッドを使います。同様の機能は MonoBehaviour クラスの print() メソッドで可能でしたが、print() メソッドは内部で Debug クラスの Log() メソッドを呼び出しているだけです。
public static void Log (object message)
Log() メソッドの内容は print() メソッドと同じです。message パラメータに指定したオブジェクトの文字列表現を出力します。
using UnityEngine; public class Test : j { void Start() { Debug.Log("Stand by ready"); } }
コード1を実行すると、上の実行結果のように Unity の「Console」ウィンドウ上に Log() メソッドに渡した文字列が表示されます。
同様のメソッドに、警告としてメッセージを出力する LogWarning() メソッドと、エラーとしてメッセージを出力する LogError() メソッドも用意されています。Log() メソッドによる通常の出力よりも強力なメッセージとして扱われます。
public static void LogWarning (object message)
public static void LogError (object message)
どちらのメソッドも、message パラメータに指定したオブジェクトの文字列表現が出力される点は Log() メソッドと同じです。ただし、これらのメッセージは警告やエラーとして、通常のメッセージとは区別されます。
using UnityEngine; public class Test : MonoBehaviour { void Start() { Debug.Log("Stand by ready"); Debug.LogWarning("Warning"); Debug.LogError("Error"); } }
コード2の実行結果から確認できるように、LogWarning() メソッドで出力した文字列には警告用のアイコンが、LogError() メソッドで出力した文字列にはエラー用のアイコンがついています。