Godot 4中如何带额外参数连接信号?适配Godot 3代码问题
Godot 4 中实现节点分组与信号连接的修正方案
1. 节点分组的修正
在Godot 4中,节点分组的API发生了变更,不再支持直接通过group属性赋值的方式添加分组,需要调用节点的add_to_group()方法来完成分组绑定:
label.add_to_group("letters")
若后续需要移除分组,可对应使用remove_from_group()方法。
2. 信号连接的修正
Godot 4的信号连接语法也做了调整,弃用了原有的四参数格式,改用Callable绑定的方式传递参数:
label.connect("pressed", self._on_LetterPressed.bind(x, y))
这里通过bind()方法将x和y作为参数绑定到回调函数上,替代了Godot 3中最后一个数组传参的方式。
完整修正后的代码
for y in range(rows): var row = [] for x in range(columns): var label = Button.new() row.append(label) self.add_child(label) label.add_to_group("letters") # 添加到"letters"分组 label.connect("pressed", self._on_LetterPressed.bind(x, y)) # 绑定信号与参数 grid.append(row)
内容的提问来源于stack exchange,提问作者Damián Silva
相关产品推荐
相关产品推荐

