Godot 引擎使用组

Godot Engine using groups

我刚刚下载了 Godot 引擎,我尝试使用一组激活 3 个按钮和第 4 个按钮。

那是应该这样做的行:

get_tree().call_group("Buttons", "pressed")

但是什么也没发生。 我做了教程中写的所有内容,但看起来,那一行不想工作。

这一行:

get_tree().call_group("Buttons", "pressed")

对组 "Buttons" 中的对象调用方法 pressed。如果它什么都不做,这意味着组 "Buttons" 中没有对象有一个 pressed 做某事。

重申失败点是:

  • "Buttons" 组中没有对象。
  • "Buttons" 组中有对象,其中 none 个对象有一个方法 pressed

或者,如果您更喜欢从 pressed 方法查看它:

  • 没有方法pressed
  • 有一个方法 pressed,但是 "Buttons" 组中的 none 个对象有它。

补充:嗯,还有一个失败点:get_tree()。它可以 return null(代码是 Node 中的 运行,当前不在场景树中)。或者它可能没有被定义(代码是 运行 而不是 Node)。但是你会出错。你会看到一个错误,对吧?对吗?


现在,你想做什么? “激活按钮”是什么意思?这是猜测:您想从按钮发出 "pressed" 信号。

要发出信号,您可以像这样使用 emit_signal

object.emit_signal("name_of_the_signal", ...)

注意,方法是emit_signal信号不是方法。我们可以使用call_group来调用emit_signal方法:

get_tree().call_group("Buttons", "emit_signal", "pressed")