Unityで2D・UIクリック型脱出ゲームを作るときに役立つ小技集

Visual Studioで「すべての参照を検索」する画面 ゲームの作り方
ゆーちゃん
ゆーちゃん

ぼくがUnityで脱出ゲームを制作していて、実際によく使う小技をまとめました。


① メソッドがどこから呼ばれたか調べる

Debug.Log(System.Environment.StackTrace);

リスタート時やボタンイベントなど、「なんでここが実行された?」という時に便利。


② ゲームを一時停止する

Debug.Break();

実行中の状態をそのまま確認できます。


③ クリックされたオブジェクト名を確認

Debug.Log(gameObject.name);

ボタンやアイテムのクリック判定確認に。


④ 今いるシーンを表示

Debug.Log(SceneManager.GetActiveScene().name);

シーン遷移の確認。


⑤ オブジェクトが消えた原因を調べる


⑥ 非表示になった原因を調べる

「気付いたらオブジェクトが消えていた」
「どのスクリプトが SetActive(false) を実行したのか分からない」ときに役立ちます。


⑦ UIの上をクリックしているか判定

背景クリックとUIクリックを分けたい時に便利。


⑧ マウス座標を確認

Debug.Log(Input.mousePosition);

UI配置やクリック位置の調整に。


⑨ RectTransformの座標確認

Debug.Log(GetComponent<RectTransform>().anchoredPosition);

UIを配置するときによく使います。


⑩ アクティブ状態を確認

Debug.Log(gameObject.activeSelf);

「表示されない」と思ったらまず確認。


⑪ 子オブジェクト数を確認

Debug.Log(transform.childCount);

アイテム欄やUI生成時に便利。


⑫ 変数をまとめて表示

Debug.Log($"Item:{itemID} Flag:{flag} Page:{page}");

脱出ゲームはフラグ管理が多いのでかなり便利。


⑬ ボタンのイベントが何回呼ばれたか確認

ボタンイベントの二重登録確認に。


⑭ メソッドを呼んでいる場所を探す

Visual Studioなら、右クリック → すべての参照を検索

Visual Studioで「すべての参照を検索」する画面

まとめ

今回は、2D・UIクリック型の脱出ゲーム制作で役立つデバッグ用の小技をまとめました。
どれも数秒で試せるものばかりですが、不具合の原因特定がぐっと楽になることがあります。

特に原因が分からないときは、

  • Debug.Log(System.Environment.StackTrace);
  • Debug.Break();
  • 「すべての参照を検索」

この3つを試すだけでも、解決につながることが多いです。

今後も開発中に便利な小技を見つけたら、このページに追記していく予定です。

コメント

タイトルとURLをコピーしました