You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:28:16