本文为Google Translate英译中结果,DrGraph在此基础上加了一些校正。英文原版页面:
Using signals — Godot Engine (stable) documentation in English
使用信号¶
在本课中,我们将研究信号。它们是节点在发生特定事件时发出的消息,例如按下按钮。其他节点可以连接到该信号并在事件发生时调用函数。
信号是 Godot 中内置的一种委托机制,它允许一个游戏对象对另一个游戏对象的变化做出反应,而无需它们相互引用。使用信号限制耦合并保持代码的灵活性。
例如,您可能在屏幕上有一个代表玩家生命值的生命条。当玩家受到伤害或使用治疗药水时,您希望条形图反映这种变化。为此,在 Godot 中,您将使用信号。
注:正如介绍中提到的,信号是 Godot 版本的观察者模式。您可以在这里了解更多信息: https: //gameprogrammingpatterns.com/observer.html
现在,我们将使用一个信号让上一课(监听玩家输入)中的 Godot 图标通过按下按钮移动和停止。
场景设置¶
为了向我们的游戏添加一个按钮,我们将创建一个新的主场景,其中将包含一个按钮和我们在之前课程中编写的场景Sprite2D.tscn。
通过转到菜单 Scene -> New Scene 创建一个新场景。

在场景停靠栏中,单击 2D 场景按钮。这将添加一个 Node2D 作为我们的根。

在 FileSystem 停靠栏中,单击您之前保存的文件Sprite2D.tscn并将其拖动到 Node2D 上以对其进行实例化。

我们想添加另一个节点作为 Sprite2D 的兄弟节点。为此,右键单击 Node2D 并选择添加子节点。

搜索 Button 节点类型并添加它。

默认情况下,该节点很小。单击并拖动视口中按钮右下角的手柄以调整其大小。


本文介绍了GodotEngine中信号的概念和使用,它们是节点在特定事件发生时发出的消息,允许无直接引用的游戏对象间通信。通过示例展示了如何使用信号使精灵响应按钮按下,以及如何通过代码连接信号,如Timer的超时信号来控制精灵的可见性。还提到了如何定义和使用自定义信号来增强游戏逻辑。
最低0.47元/天 解锁文章
1370

被折叠的 条评论
为什么被折叠?



