GDScript 在线编译器
编写、运行和分享代码片段,无需任何配置。
在浏览器中在线运行 GDScript
这是一个免费的 GDScript 在线编辑器和代码运行工具。在浏览器里写一个 Godot 脚本,点击运行,无界面的 Godot 4 引擎会在几秒内执行它。不用下载 Godot 编辑器,不用创建项目,什么都不用安装。
你的文件 main.gd 作为只有一个节点的场景运行:脚本会被加入场景树,所以 _init() 和 _ready() 的执行方式和在游戏里完全一样,程序在第一帧之后结束。所有内容都输出到控制台,因此很适合练习语言本身:静态类型、数组和字典、match、类、内部类和信号。编辑器基于与 VS Code 相同的引擎,使用 Tab 缩进。
这个 GDScript 在线编辑器好用在哪里
- 真正的 Godot 执行环境:你的脚本运行在无界面的 Godot 4 引擎上,而不是模拟器,所以内置类型、
print()、字符串格式化和标准 GDScript 函数的表现与 Godot 编辑器完全一致。 - 支持标准输入。每次调用
OS.read_string_from_stdin()都会从编辑器的输入框读取一行,并且已经去掉换行符,所以脚本可以像示例代码那样让你输入名字和数字。 - 清晰的错误提示:运行时错误会连同错误信息显示在输出中;混用 Tab 和空格的文件会在运行前被拒绝,和 Godot 中一样。编辑器使用 Tab 缩进,让你的缩进保持一致。
- 从头到尾免费开源:Godot 采用 MIT 许可证,在线编辑器不需要账号、不需要下载,也不需要 Godot 项目。
在 GDScript 在线编辑器里可以做什么
- 字符串格式化和数学运算:用
%占位符('%s has %d HP' % [name, hp])或String.format()拼接输出,用snappedf()取整,再试试用:=推断类型的变量。 - 数组和字典:类型化数组(
Array[int]),配合 lambda 使用map()、filter()和reduce(),以及用for key in inventory遍历存放物品属性的字典。 - 不需要游戏画面的游戏逻辑:用
match语句处理玩家状态,写一个带signal health_changed(value)的类,用connect()连接、用emit()触发,再在脚本中用class Enemy:声明内部类。
GDScript 在线编译器常见问题
GDScript 在线编译器是免费的吗?
是的。GDScript 在线编辑器可以免费使用,无需注册,也无需下载 Godot。Godot 本身也是基于 MIT 许可证的免费开源软件。
需要安装 Godot 编辑器吗?
不需要。你的脚本在 Coddy 服务器上的无界面 Godot 4 引擎中运行,几秒内就会返回输出。你不需要 Godot 编辑器、导出模板或项目文件夹。
_ready() 和 _init() 在在线编辑器里是怎么运行的?
main.gd 挂载在一个被加入场景树的节点上,所以先执行 _init(),再执行 _ready(),程序在第一帧之后结束。没有 extends 的脚本会执行它的 _init()。这里没有持续运行的游戏循环,所以请把要运行的代码放在 _ready() 或 _init() 中。GDScript 在线编辑器支持标准输入吗?
OS.read_string_from_stdin() 都会返回下一行(不含换行符),你可以像示例脚本那样用 int() 或 float() 转换它。可以使用场景、精灵或物理吗?
Sprite2D 这样的节点不会显示任何内容,也没有 _process() 循环。你传给 print() 的所有内容都会出现在输出中,足以覆盖语言本身:类型、集合、match、类和信号。为什么我的脚本报缩进错误?
GDScript 用缩进标记代码块,Godot 会拒绝混用 Tab 和空格的文件。编辑器和 Godot 编辑器一样使用 Tab 缩进,所以请全程使用 Tab;如果你粘贴的代码是用空格缩进的,请统一改成 Tab。
试过在线编辑器之后,怎么学习 GDScript?
修改示例代码,点击运行,反复尝试。想要更系统地学习时,Coddy 的互动 GDScript 课程会教你类型化变量、match 语句、数组和字典、枚举、类、继承和信号,每道练习都在真正的 Godot 引擎上运行,每个单元学完都能获得证书。
适合 GDScript 的实用工具
与 GDScript 在线编辑器搭配使用的免费浏览器工具,全部来自 Coddy。