手册:关于信号

“信号”是 Godot 中用于实现对象间通信的机制,ACTION GAME MAKER 支持该机制。

有关信号的详细信息,请参阅以下 Godot 引擎文档:

通过此信号功能,您可以在“视觉脚本之间”以及“视觉脚本与 GDScript 之间”发送和接收信号。

信号能实现的功能

案例:从视觉脚本连接到 GDScript
案例:从 GDScript 连接到视觉脚本
通过信号,您可以由 GDScript 的动作触发信号,接收该信号后执行相应操作,反之亦然。
这使得同时使用视觉脚本和 GDScript 成为可能。
例如,当点击附加了 GDScript 的按钮时,在视觉脚本中执行状态 A 的动作等。

案例:视觉脚本之间的连接
视觉脚本之间可以通过修改属性或执行指定动作等方式主动进行变更,但通过信号可以实现被动变更,从而获得更灵活的行为。

将信号连接到视觉脚本的方法

为了发送和接收信号,需要连接节点之间的信号。
此时,若要在视觉脚本中接收信号,需要进行以下额外设置:

  1. 在作为信号源的物体上创建信号。在视觉脚本中,可以通过“发送信号”动作来创建信号。
  2. 将作为信号源的物体与希望接收信号的视觉脚本物体放置在同一场景中。
  3. 选择作为信号源的物体并查看检查器(Inspector)窗口。切换到“节点”选项卡后,应能看到刚才创建的信号。
  4. 选择要发送的信号,点击右键菜单或窗口底部的“连接”按钮,将弹出连接窗口。
    image
  5. 指定希望接收信号的物体,然后按下“Pick(选择)”按钮。
  6. 将显示选择接收器的界面,请选择 receive_signal(signal_name:…) 并点击确定。
  7. 如果接收器显示为 receive_signal,则表示成功,请点击“连接”按钮完成连接。
  8. 如果显示如下内容,则表示连接成功。
    image

从 GDScript 连接到视觉脚本时的注意事项

连接方法与前一节相同,但有一点需要注意:需要两个参数。

\u003e signal(String, Value)

格式如下:
第一个参数是用于在视觉脚本内部进行过滤的名称(字符串)。
第二个参数是在视觉脚本内部接收的值。