Godot 如何从其他sprite中检索变量?

Godot 如何从其他sprite中检索变量?,godot,Godot,我在sprite1中有一个变量: var-answer=false 我想将同一个变量传输到sprite2,而无需重新定义,并且当sprite1中的变量更改时,sprite2中的变量也会更改。假设这两个精灵在某个级别共享一个父节点,您可以在修改sprite1时使用观察者模式更新sprite2 首先,让我们在Sprite1上设置一个信号。该信号仅在我们调用update\u answer时发出。这意味着我们必须调用它,而不是直接设置answer 如果您熟悉getter和setter,可以使用sette

我在sprite1中有一个变量:

var-answer=false


我想将同一个变量传输到sprite2,而无需重新定义,并且当sprite1中的变量更改时,sprite2中的变量也会更改。

假设这两个精灵在某个级别共享一个父节点,您可以在修改sprite1时使用观察者模式更新sprite2

首先,让我们在
Sprite1
上设置一个信号。该信号仅在我们调用
update\u answer
时发出。这意味着我们必须调用它,而不是直接设置
answer

如果您熟悉getter和setter,可以使用setter。否则,这个策略很好用

父项应该引用两个子项。在
ready
中,连接到
sprite1
的信号。现在,家长将监听更新。每当它收到来自
sprite1
的信号时,它将自动
更新\u sprite2

// Parent
onready var sprite1 = $Sprite1
onready var sprite2 = $Sprite2

func _ready():
    sprite1.connect("answer_changed", self, "update_sprite2")

func update_sprite2(answer):
    sprite2.answer = answer
// Parent
onready var sprite1 = $Sprite1
onready var sprite2 = $Sprite2

func _ready():
    sprite1.connect("answer_changed", self, "update_sprite2")

func update_sprite2(answer):
    sprite2.answer = answer