在这里直接玩一个 Godot 游戏
三个用 GDScript 写的小游戏,运行在真实的 Godot 4 引擎中。点击“开始”,然后拖动滑块:代码里的数字会跟着变,游戏也会用新值重新开始。在手机上,请使用屏幕上的按键。
用方向键奔跑,按空格键跳跃。把 JUMP_VELOCITY 设为 -300.0,就跳不上那些平台了。
extends CharacterBody2D
const SPEED = 240.0
const JUMP_VELOCITY = -460.0
const GRAVITY = 1200.0
func _physics_process(delta):
# Fall when in the air.
if not is_on_floor():
velocity.y += GRAVITY * delta
# Jump only from the ground.
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = JUMP_VELOCITY
# Run left and right.
var direction = Input.get_axis("move_left", "move_right")
velocity.x = direction * SPEED
if direction != 0:
$Body.scale.x = sign(direction)
$Eye.position.x = 3 if direction > 0 else -9
move_and_slide()
# Fell off the world? Start again.
if position.y > 420:
position = Vector2(100, 280)
velocity = Vector2.ZERO
亲手写出这些脚本,就是这门课程的内容:免费,在浏览器中学习。
课程大纲
单元 1
节点与场景
开始本单元开始了解 Godot 游戏如何由节点和脚本构成。使用 delta 移动、旋转和缩放节点,调整数值并查找其他节点。最后,你会完成一个弹跳屏保。你的第一个 Godot 游戏
6 节课6项目:屏幕保护程序
5 节课54单元 2
输入与移动
开始本单元开始用键盘移动角色。使用输入操作、CharacterBody2D 和 move_and_slide,然后添加重力、跳跃和平滑速度控制。最后,你会完成一个能奔跑和跳跃的平台游戏主角。CharacterBody2D
5 节课55单元 3
信号与碰撞
开始本单元开始让物体在接触时做出反应。使用 Area2D 和信号,编写自定义信号,为节点分组,并用 queue_free 删除节点。最后,你会完成一个收集金币的游戏。单元 4
游戏规则
开始本单元开始为游戏添加规则:计时器、屏幕上的分数、生命值、胜利、失败、重新开始,以及从场景生成的敌人。最后,你会完成一个躲避游戏。单元 5
游戏体验
开始本单元开始添加动作和反馈:使用 tween、跟随并震动的摄像机、粒子效果、受击闪烁和 AnimationPlayer。单元 6
项目
开始本单元开始一步步制作 4 款完整游戏:Breakout、陨石射击游戏、Flappy 风格的飞行游戏,以及俯视角地牢探索游戏。每个项目结束时,你都会得到一个可以运行的游戏。项目:打砖块
10 节课105项目:小行星射击
11 节课115
Godot 课程
动手实践的 Godot 课程,在浏览器中免费开始。
在实践中学习
编写真实代码、查询数据库、搭建网站、掌握 AI 提示词。我们的互动课程涵盖现代开发者需要的每一项技能。
打造你的连胜
坚持下去,看着自己不断进步!记录每天的编程习惯,用冻结天数保护连胜,每天打卡都能赢取奖励。
12 天连胜
明天再来,保持你的连胜!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
加倍或归零
第 5 天,共 7 天
连胜冻结
2 left
你并不孤单
在全球排行榜上一较高下,邀请好友赢取奖励,为彼此的成就喝彩。和好友一起编程更有趣!
多种学习方式
阅读、收听、自我测验、问 AI,或者查阅学过的任何内容。每节课都配合你的节奏。
变量是一个有名字的容器,用来存储值,方便你在程序后面引用。
在 Python 中,创建变量只需写下名字、一个等号,再写上要存储的值。
值可以随时间变化。给这个名字重新赋值,它就会指向新的值。
获得证书
每完成一门课程都能获得证书。把证书添加到你的 LinkedIn 个人资料和简历中,向雇主展示你的编程能力。
为什么在 Coddy 学 Godot
- 代码和游戏并排显示。点击“开始”,游戏就会在 Godot 4.7 中运行,这是编译成网页版的真实引擎。“热重载”会把你的脚本替换进正在运行的游戏,“场景”标签页像 Godot 的场景面板一样显示实时节点树,“控制台”会显示
print()的输出和每个错误及其所在行。点击“检查”,系统会通过试玩你的游戏来批改这节课。 - 开始学之前不需要任何做游戏的经验。第一个单元会展示 Godot 游戏是怎么搭起来的:场景树中的节点、
_ready和_process、delta、位置和Vector2、@export变量,以及用$查找节点,最后做出一个弹跳屏保。 - 让角色响应键盘:输入动作、
CharacterBody2D和move_and_slide()、墙壁、重力和跳跃、加速度和摩擦力。然后是会互相碰触的物体:Area2D、在代码中连接信号、自定义信号、分组和queue_free(),最后做出一个收集金币的游戏。 - 从玩具到游戏:
Timer、显示在Label里的分数、生命值、游戏结束与重新开始,以及从PackedScene生成的敌人。然后是游戏手感:补间动画、跟随和震动的摄像机、粒子和AnimationPlayer。
关于学习 Godot 的常见问题
学 Godot 需要先会 GDScript 吗?
if、循环和信号,每个都在游戏第一次需要时再教。如果想单独学这门语言,可以学 GDScript 课程。这是真正的 Godot 引擎吗?
是的。你的游戏运行在 Godot 4.7 中,也就是这个引擎的官方网页版,“检查”也会用同一版本的 Godot 试玩它。你写的脚本和场景都是普通的 Godot 文件:以后在电脑上打开 Godot 编辑器,同样的代码也能运行。
需要下载 Godot 吗?
不需要。游戏在你浏览器中的编辑器旁边运行。这门课程在网站上,可以用电脑或手机的浏览器学习,Coddy 手机应用中暂时没有。以后想用图片和音效做自己的项目时,再下载免费的 Godot 编辑器,你在这里学到的一切都能直接用上。
这门 Godot 课程会做哪些游戏?
每个单元都以一个游戏结尾:弹跳屏保、平台跳跃主角、金币收集游戏,以及一个会输的躲避游戏。最后一个单元还会一步步再做四个:打砖块、小行星射击、Flappy 式飞行游戏和地牢探险游戏。
应该学 Godot 还是 Unity?
Godot 课程免费吗?
免费。课程、游戏、AI 提示和证书都免费。免费账号每天可以学几节课,Pro 会取消每日限制。
学完 Godot 课程能获得证书吗?
能。课程共 6 个单元,每完成一个都会获得一张免费的结业证书,每张证书都有自己的页面,可以分享或添加到 LinkedIn。