「シグナル」とは、Godotでオブジェクト間の通信を行うための仕組みで、ACTION GAME MAKERはこの仕組みに対応しています。
シグナルの詳細については以下Godot Engine Documentationをご確認ください。
このシグナル機能により、「ヴィジュアルスクリプト同士」「ヴィジュアルスクリプトとGDScript」でシグナルを送受信することができます。
シグナルでできること
ケース:ヴィジュアルスクリプトとGDScriptの接続
シグナルを介することによって、GDScriptの動作によってシグナルを発信し、それを受信することでアクションを実行することや、その逆の動作を行うことができます。
これにより、ヴィジュアルスクリプトとGDScriptを併用することが可能になります。
例えば、GDScriptのアタッチされたボタンをクリックされたとき、ヴィジュアルスクリプトでステートAの動作を行う、等です。
ケース:ヴィジュアルスクリプト同士の接続
ヴィジュアルスクリプト同士はプロパティを変更や指定のアクションを実行等で能動的に変更をすることができますが、シグナルを介することで受動的に変更をすることができ、より柔軟な動作が可能になります。
ヴィジュアルスクリプトへのシグナルの接続方法
シグナルを送受信するためには、ノード同士のシグナルを接続する必要があります。
その際、ヴィジュアルスクリプトで受信するためには以下の追加の設定が必要となります。
- 発信元となるオブジェクトでシグナルを作成します。ヴィジュアルスクリプトの場合は「シグナルを送信」アクションでシグナルを作成できます。
- 発信元となるオブジェクトと、受信したいヴィジュアルスクリプトオブジェクトを同じシーンに配置します。
- 発信元となるオブジェクトを選択してインスペクター画面を見てください。タブをノードに切り替えることで、先程作成したシグナルが表示されているはずです。
- 送信したいシグナルを選択し、右クリックメニューかウィンドウ下部の接続ボタンを押すと。接続用ウィンドウが立ち上がります
- 受信したいオブジェクトを指定して「Pick(選択)」ボタンを押します。
- レシーバーを選択する画面がでるので、receive_signal(signal_name:…)を選択してOKを押します。
- レシーバーがreceive_signalになっていれば成功ですので接続を押して接続しましょう。
- 以下のようになっていれば接続成功です。