いつでもエディタからゲームを一時停止することができます。
Error Pause と呼ばれるコンソール オプションがあります。 有効にすると、ランタイム エラーが発生したときに、ゲームを一時停止します。 ゲームが一時停止されると、シーンで何が起こっているかを簡単に調査できるので、問題をよりよく理解することができます。 しかし、カスタム条件でゲームを一時停止したい場合はどうしたらよいでしょうか? それも可能です!
これを行うには、Debug.Break()関数を使用する必要があります。 Unity エディタを一時停止したいときに、これを呼び出すだけです。
例
C#
1
2
の例 3
4
5
6
7
8
9
|
UnityEngineを使っている。
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(“Pause Now!”)) {
Debug.Break();
}.
}
}
|
この例では、左上にボタンを表示します。 ボタンがクリックされると、エディターは一時停止します。
Debug.Break() には、手動で一時停止して前進するよりも重要な利点がもう 1 つあります。 それは、実行フレームの途中でゲームを一時停止することができます。 これは、オブジェクトの一部がまだ Update() 呼び出しを待っている可能性があり、他の部分はすでに更新されていることを意味します。 これは、ランダムに表示されるバグを処理している場合に本当に便利です。 ゲームがビルドされると、文字通り何もしません! 🙂
Files
いつものように、サンプル unitypackage をここでダウンロードできます。 それをダブルクリックして、その内容を Unity プロジェクトへインポートします。 そこには、例のシーンと上記のスクリプトがあります。