Godot 3.x 项目快速迁移至 Godot 4(GDScript 2.0 适配指南)
解决 Godot 版本升级后的代码兼容性问题:通过 AI 将 Godot 3.x 的旧版语法自动转换为 Godot 4 (GDScript 2.0) 标准,重点解决标注、Tween 动画和信号连接的断层。
为什么需要这个技能
从 Godot 3 升级到 Godot 4 并非简单的版本更新,而是经历了 GDScript 2.0 的重大重构。很多核心语法发生了变化,直接升级项目会导致大量编译错误。
最典型的痛点包括:原有的 export 关键字失效、Tween 节点被弃用以及 yield 协程机制的改变。如果手动逐一修改,在大型项目中效率极低且容易遗漏。本技能让 AI 充当迁移专家,快速识别旧语法并精准重构为 Godot 4 的最佳实践。
适用场景
- 将旧有的 Godot 3 项目移植到 Godot 4 引擎时。
- 升级版本后出现大量语法错误(Syntax Errors)需要批量修复时。
- 需要将旧版的
Tween节点逻辑转换为新的create_tween()代码流时。 - 将
export变量更新为最新的@export标注形式。
核心工作流
- 标注更新:将旧的关键字转换为以
@开头的标注。例如export var@export var,onready var@onready var。 - 属性访问重构:将传统的
setget模式改为行内 setter/getter 语法。 - 动画系统迁移:删除
Tween节点依赖,改为使用create_tween()创建临时补间动画对象。 - 信号与协程转换:将基于字符串的
connect转换为可调用对象(Callables),并将yield替换为await。
语法对比示例
Tween 系统迁移:
# Godot 3 (旧)
$Tween.interpolate_property(...)
$Tween.start()
# Godot 4 (新)
var tween = create_tween()
tween.tween_property($Sprite, "position", Vector2(100, 100), 1.0)
信号连接迁移:
# Godot 3 (旧)
connect("pressed", self, "_on_pressed")
# Godot 4 (新)
pressed.connect(_on_pressed)
协程迁移:
# Godot 3 (旧)
yield(get_tree().create_timer(1.0), "timeout")
# Godot 4 (新)
await get_tree().create_timer(1.0).timeout
下载和安装
下载 godot-4-migration 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐