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

**URL:** <https://guild.rpgmakerofficial.com/t/topic/197>\
**Category:** チュートリアル\
**Tags:** manual, english\
**Created:** [2025 年 6 月 13 日午前 8:14 UTC](https://guild.rpgmakerofficial.com/t/topic/197 "2025-06-13T08:14:11Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2025 年 6 月 13 日午前 8:14 UTC](https://guild.rpgmakerofficial.com/t/topic/197/1 "2025-06-13T08:14:11Z")

</div>

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

* * *

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

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

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

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

* * *

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

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/183c65b03c9198242b8fe42486f64c813c75c945.png)

* * *

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

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

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

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/5b8c65eee1adb8da61f2ffbcb93518931382599d.png)

* * *

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

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

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

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

> [@Manual: Collision Settings — CollisionLayer and CollisionMask](https://guild.rpgmakerofficial.com/t/topic/71):
>
> ACTION GAME MAKER uses the collision layer system directly from Godot. When used effectively, this allows for a wide variety of collision behaviors and interactions. Where to Configure Collisions Wa…
