Agent Skills
返回列表
💻

Godot GDScript 4.x 编程指南

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/godot-gdscript-sh-18kosl。

技能介绍

问题场景

在 Godot 4.3+ 项目中,许多脚本仍沿用 Godot 3.x 的 yield、connect、export var 等写法,导致无法解析、引用节点失败或运动逻辑与帧率绑定。这个技能聚焦 .gd 文件本身的正确性,帮助开发者写出静态类型、生命周期清晰、事件响应规范的 GDScript 2.0。

核心能力

  • 类型优先:使用 var hp: int = 10、func add(a: int, b: int) -> int: 等显式类型,利用 := 做推断,把错误提前到解析阶段。
  • 生命周期规范:区分 _ready()、_process(delta) 与 _physics_process(delta),移动和物理逻辑放入固定物理帧。
  • 节点引用:用 @onready 获取子节点,避免在 _init() 中使用 $NodePath 导致节点未入树。
  • 信号与协程:使用 4.x Callable 语法连接信号,用 await 替代 3.x yield,减少轮询式事件处理。
  • 导出参数:用 @export 将可调参数暴露到 Inspector,方便策划或运营修改。

适用边界

该技能适合编写、修复或迁移单个 .gd 脚本,不覆盖场景树结构、实例化、signal 架构或 C# 方案。遇到 class_name 重复、整数除法截断、RPC 注解变化等问题时,优先按 4.x 注解与类型约束修正。

使用场景

  • 在 Godot 4.3 项目里处理脚本无法解析,把 3.x 的 yield 与旧 connect 改成 await 和 Callable 连接。
  • 把玩家移动逻辑从 _process 迁到 _physics_process,避免移动速度依赖帧率。
  • 用 @export 暴露关卡参数,用 @onready 获取子节点,避免 _init 里引用不到节点。
  • 为角色技能声明并连接信号,用 await 等待计时器或信号完成后再继续流程。

适合人员

  • 维护 Godot 4.3 项目的独立游戏程序员,需要把 3.x 脚本改成可解析的 GDScript 2.0。
  • 做角色和关卡脚本的游戏客户端工程师,需要规范 @export、@onready 与信号 await 写法。
  • 从 C# 或 Unity 转 Godot 的引擎工程师,需要理解 4.x 信号、类型与生命周期约束。
  • 负责把策划数值落到场景里的技术美术,需要暴露可调参数并避免运行期引用错误。