マニュアル:ビジュアルスクリプトのデバッグ

このガイドでは、ACTION GAME MAKER でビジュアルスクリプトを扱う際に発生する問題のデバッグ方法について説明します。


「コンソールにメッセージを出力」アクションを効果的に使用する

「コンソールにメッセージを出力」アクションは、デバッグ専用です。
このアクションが実行されると、画面下部の
出力
パネルにカスタムメッセージが出力されます。

問題が発生している状態にこのアクションを配置して、その状態が到達しているか確認してください。

  • メッセージが表示されない場合:
    その状態に到達していないため、その状態への遷移リンクに問題がある可能性が高いです。
  • メッセージが表示される場合:
    その状態に到達しているため、問題の原因は実行アクションまたは当たり判定設定(ヒット/アタックエリアなど)にある可能性が高いです。

衝突表示でヒットボックスを表示

デバッグメニューから可視衝突形状を有効にして、衝突エリアを視覚化します。
これを使用して、「衝突するはずなのにしない」や「予期せずオブジェクトがすり抜ける」といった問題を確認します。


問題の特定に役立つ「テキスト表示」アクション

テキスト表示アクションを使用すると、変数を画面に表示できます。
持続時間を無限に設定すると、状態が切り替わってもテキストが画面に残るため、デバッグに便利です。

例えば、攻撃がヒットしているのにダメージが適用されていないと疑われる場合、対象の HP 変数を画面に表示してみてください。


間違いの一般的な原因:衝突レイヤーとマスク

接触時に状態遷移がトリガーされない場合は、衝突レイヤー衝突マスクの設定を確認してください。

  • 壁の検出:
    Collision2D オブジェクト間の衝突をチェックします。
    → オブジェクトのCollisionMaskに、相手のCollisionLayerが含まれているか確認してください。
  • 攻撃の衝突検出:
    あなたの HitCollision と相手の AttackCollision 間の衝突をチェックします。
    → あなたの HitArea2D のマスクが、相手の AttackArea2D レイヤーと一致しているか確認してください。
  • ヒット対象の検出:
    あなたの AttackCollision と相手の HitCollision 間の衝突をチェックします。
    → あなたの AttackArea2D のマスクが、相手の HitArea2D レイヤーと一致しているか確認してください。

衝突レイヤーとマスクの詳細については、以下のマニュアルを参照してください: