Godot 零基础学编程:Learn GDScript From Zero 浏览器闯关全攻略
【免费下载链接】learn-gdscriptLearn Godot's GDScript programming language from zero, right in your browser, for free.项目地址: https://gitcode.com/gh_mirrors/le/learn-gdscript
你有没有试过在浏览器里改一行代码,游戏角色立刻就动了?Learn GDScript From Zero 就是这样一个免费开源应用——它让你在浏览器里直接写 Godot 引擎的 GDScript 代码,每改一个字符都能立刻看到画面变化。不用装编辑器,不用配环境,打开网页就能开始。如果你是从零起步想学 Godot 游戏开发,这个工具就是为你准备的。
开箱体验
它是什么?一个把"编程课"做成闯关游戏的学习工具。打开浏览器访问在线版,或者用git clone https://gitcode.com/gh_mirrors/le/learn-gdscript把仓库拉到本地,用 Godot 引擎打开即可。第一印象是:界面干净,左边是任务说明,中间是代码编辑区,右边是实时运行画面,像一个迷你 IDE。28 节课从"代码到底是什么"一路讲到"类型系统",节奏紧凑,每节课配 1~2 个动手练习。💬 你上一次被环境配置劝退是什么时候?这里没有环境配置。
GDScript 编程练习界面:左侧任务目标、中间代码编辑、右侧角色实时绘制效果,完整呈现 Godot 零基础编程的学习过程
从第 1 关开始,你的任务就不再是"看懂",而是"让画面动起来"。
第 1 关:让角色动起来——你的第一行 GDScript
这一关的目标很朴素:让一只"神龟"在屏幕上画出一个矩形。你会用到move_forward、turn_right这两个内置函数,理解"函数调用"到底在干嘛。
🎯本关目标:调用现成函数,让角色走出一圈矩形。
📦要做的事:
- 打开第 4 课"画一个矩形",阅读左侧目标说明。
- 在代码区里按顺序输入前进和右转的函数调用。
- 点 Run 按钮,看神龟在右边画出来。
- 尝试改参数(比如把 100 改成 200),再跑一次看变化。
- 完成后点 Continue 进入下一关。
🔗 相关路径:课程从 lesson-1-what-code-is-like/ 开始讲代码本质,第 4 课 lesson-4-drawing-a-rectangle/ 是第一次动手画图。
✅验收信号:右侧画面出现一个闭合的矩形,神龟回到起点。
💬卡住了?最常见的坑是漏写括号,比如把move_forward(100)写成move_forward 100。程序不会报错但根本不会执行。对着提示里的函数签名抄一遍就好。
画完第一个矩形,你会好奇:如果我想让角色"记得"自己走了多远呢?这就引出了变量。
第 2 关:用变量和函数记住状态
光会调用函数还不够,你需要让程序"记住"东西。比如角色现在在哪、血量还剩多少。变量就是贴了标签的储物盒,函数则是把一段操作打包、起个名字、随用随取。
🎯本关目标:定义一个变量存血量,写一个函数让角色回血,体会"状态"的含义。
📦要做的事:
- 进入第 8 课"定义变量",在代码区声明一个
health变量。 - 用
print()把变量值打印到输出栏,确认它被记住了。 - 跳到第 9 课,写
take_damage和heal两个函数,分别扣血和加血。 - 调用函数后再次打印,观察数值变化。
- 把变量初始值改一改,验证函数逻辑是否跟着变。
🔗 相关路径:lesson-8-defining-variables/ 讲变量赋值,lesson-9-adding-and-subtracting/ 讲加减操作,配套练习在 healing/ 目录。
✅验收信号:输出栏依次打印出初始血量、扣血后的血量、加血后的血量,数值正确。
💬卡住了?初学者经常把变量名拼错——定义时写health,用的时候打成healht。程序会把它当成一个全新变量,值永远是 0。仔细对一下拼写。
有了状态和函数,下一步就是让程序"做选择"和"重复做事"。
第 3 关:用条件判断和循环控制游戏逻辑
游戏之所以是"游戏"而不是"幻灯片",靠的是 if 判断和 for/while 循环。角色什么时候该停、什么时候该转、走几步停一下,全是逻辑在管。📦
🎯本关目标:用 if 防止血量掉到负数,用 for 循环批量画图形。
📦要做的事:
- 打开第 13 课"条件判断",写一个 if 语句:血量低于 0 时把它拉回 0。
- 测试:让角色连续掉血超过当前值,确认血量不会变成 -5。
- 进入第 18 课"for 循环",用 for 让神龟连续画 3 个矩形。
- 改循环次数为 5,验证画面是否跟着变化。
- 第 17 课"while 循环"里,让角色沿对角线走到棋盘边缘才停。
🔗 相关路径:lesson-13-conditions/ 讲 if/else,lesson-18-for-loops/ 讲 for 循环,lesson-17-while-loops/ 讲 while 循环与棋盘移动。
✅验收信号:血量永远 ≥ 0;画面出现 3 个(或 5 个)等距排列的矩形;while 循环让角色精确停在棋盘边界。
💬卡住了?while 循环写不好最容易出现"角色跑出屏幕"或"卡死不动"。先确认循环条件里的>=有没有写反,再检查步进值是不是 0。
逻辑通了,数据怎么管?接下来该请数组和字典出场了。
第 4 关:用数组和字典管理游戏数据
角色越来越多、道具越来越杂,单个变量根本不够用。数组是一排带编号的储物盒,字典是一个"按名字找盒子"的抽屉柜。🎯
🎯本关目标:用数组存一组角色坐标,用字典做一个迷你背包系统。
📦要做的事:
- 第 19 课"创建数组":建一个数组,把 3 个角色的位置存进去。
- 第 20 课"遍历数组":用 for 循环把数组里每个角色画到棋盘上。
- 第 25 课"创建字典":定义一个
inventory字典,存入 3 个"治疗药水"、9 个"宝石"、1 把"剑"。 - 第 26 课"遍历字典":循环打印背包里每件物品的名称和数量。
- 第 23 课"向数组追加":模拟"捡到道具"——往数组末尾 append 一个新元素。
🔗 相关路径:lesson-19-creating-arrays/、lesson-25-creating-dictionaries/,练习素材在 course/common/inventory/ 目录,里面有现成的道具图标和场景文件。
GDScript 字典练习:用 dictionary 创建 Godot 游戏库存系统,右侧实时显示 Healing Heart、Gems、Sword 的持有数量
✅验收信号:输出栏正确打印出背包里每件物品的名字和数量;棋盘上出现 3 个角色。
💬卡住了?字典的 key 必须是字符串,写成"sword"而不是sword。忘了引号,程序会把sword当成一个未定义变量直接报错。
四关跑下来,你手里已经有变量、函数、判断、循环、数组、字典全套工具。现在把它们串起来,做一个真正能玩的东西。
通关 Boss:做一个完整的迷你游戏
前面四关攒下来的能力,现在可以串成一个回合制小游戏了。不用写完整代码,先把"迷你游戏"拆成 4 个模块,逐个实现:
- 角色移动模块:用
move_forward和向量(第 16 课)控制角色在棋盘上走,用 while 循环防止越界。 - 血量与攻击模块:用变量存血量,用 if 判断是否死亡,用函数封装
take_damage/heal。 - 道具背包模块:用字典存道具,用 for 遍历打印,用 append 模拟拾取。
- 回合主循环模块:用 game loop(第 10 课)把上面三个模块按回合串起来,每回合玩家选"攻击 / 使用道具 / 跳过"。
做完这 4 个模块,你就拥有一个能跑起来的回合制小游戏。28 节课学完,你手里已经有完整工具箱了。✅
Learn GDScript From Zero 学完后可独立开发的 Godot 3D 平台游戏场景,角色站在彩虹山谷中
做完 Boss 之后,你会发现学习资源其实散落在仓库各处,这里给你一份速查清单。
装备间(资源速查)
- course/ — 28 节 GDScript 课程目录,从入门到类型系统
- script_checking/error_database.csv — 常见报错与解决方案速查表
- script_checking/ScriptVerifier.gd — 代码自动验证逻辑,练习判分的核心
- ui/components/CodeEditor.gd — 代码编辑器组件,想改 UI 从这里入手
- course/common/inventory/ — 背包系统练习素材,含道具图标和场景文件
- i18n/zh_Hans/ — 中文翻译目录
- docs/interactive_practices.md — 交互练习的设计文档,了解题目怎么出
清单收好,接下来是几个高频翻车点。
常见卡点
你:点 Run 没反应,画面一片空白?解法:先检查左下角有没有红色报错。90% 的情况是语法错误(漏括号、拼写错),把报错文字里的行号找出来,改完再跑。
你:变量定义了,但 print 出来是空?解法:大概率是作用域问题。在函数里定义的变量出了函数就没了,想在外面用,把它挪到函数外面定义。
你:while 循环一跑就卡死整个程序?解法:在循环体第一行加一句print(循环变量),看输出栏它到底在不在变。如果数值不走向结束条件,循环就永远不会停。
别光收藏。打开浏览器,跑第 1 关,让那只神龟先画出一个矩形——你会发现自己比想象中上手得快。🚀
【免费下载链接】learn-gdscriptLearn Godot's GDScript programming language from zero, right in your browser, for free.项目地址: https://gitcode.com/gh_mirrors/le/learn-gdscript
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考