教程一 · 第 1 章:开篇与环境搭建
《Godot C# 零基础》双教程系列 · 共 16 篇
这个系列由两份互为表里的教程组成:教程一《Godot C# 从零开始》 9 篇,主线是动手做游戏(Pong、平台跳跃、UI、导出发布);教程二《为 Godot 学 C#》 7 篇,补齐语言本身的语法与面向对象基础,每个概念都用教程一里的真实游戏代码举例。两份教程交替学习,不要一口气只看一份。
推荐路线:第 01–02 篇(装好环境、跑通脚本)→ 第 10–12 篇(C# 语法底子)→ 第 03–06 篇(做完整小游戏)→ 第 13–15 篇(面向对象与进阶)→ 第 07–09 篇(UI、发布)。卡壳时记住一个原则:先让东西跑起来,再回头理解原理。
系列目录
教程一:Godot C# 从零开始(9 篇)
- 开篇与环境搭建(本文)
- 节点、场景与脚本
- 第一个完整游戏:Pong
- 2D 平台跳跃
- 信号与节点通信
- Resource 数据驱动、实例化与存档
- UI 与游戏流程
- 音效、粒子、屏幕震动与调试
- 导出发布与学习路线图
教程二:为 Godot 学 C#(7 篇)
版本说明(2026 年 10 月):基于 Godot 4.7.x .NET 版,最低需要 .NET SDK 8。下载时认准名字带 ”.NET” 的 Godot;中文路径和中文脚本名容易触发工具链怪问题,项目路径尽量全英文。
1.1 Godot 是什么
Godot 是一款开源、免费、MIT 协议的游戏引擎,2014 年开源,由社区和 Godot 基金会维护。你可以把它理解成”游戏界的 Blender”:不收分成、不抽成、不强制登录账号,做出来的游戏 100% 是你自己的,导出到 Windows / macOS / Linux / Android / iOS / Web 都行。
它和你可能听过的引擎对比:
| Godot | Unity | Unreal | |
|---|---|---|---|
| 价格 | 完全免费,0 分成 | 免费额度+收入门槛后收费 | 免费,收入超 100 万美元后 5% 分成 |
| 体积 | 编辑器约 100MB,免安装 | 几个 GB 起 | 几十个 GB |
| 主要语言 | GDScript / C# / C++ | C# | C++(蓝图) |
| 擅长 | 2D、独立游戏、中小型 3D | 2D/3D 通吃、移动游戏 | 3A 画质、大型 3D |
| 学习曲线 | 平缓 | 中等 | 陡峭 |
2023 年之后 Godot 4 成熟度飞跃,4.5/4.6/4.7 几个版本把 C# 的 Web 导出、.NET 新版本支持、3D 渲染都补齐了,现在是独立开发者用 C# 做游戏性价比最高的选择之一。
1.2 为什么用 C# 而不是 GDScript
Godot 自家语言 GDScript 类似 Python,入门极快;C# 是微软做的静态类型语言,也是 Unity 的主力语言。怎么选?
选 C# 的理由:
- 你已经在用或想学一门”走出游戏圈也值钱”的语言——C# 在后端、桌面、Web、Unity 生态里都是硬通货
- 静态类型:编译期就能抓出一大类错误,项目越大越香
- 性能:复杂逻辑(大量单位、寻路、数据处理)明显快于 GDScript
- .NET 生态:Json、HTTP、数学库、单元测试……NuGet 上几万个包直接用
- 你的编程经验(C/C++/Java/TS)能平滑迁移
GDScript 更适合的场景:做个 Game Jam 小品、完全零基础只想快速看到效果、教程几乎全是 GDScript 时不介意语言切换。
一个 Godot 项目里 C# 和 GDScript 可以混用,但新手不建议,先一门深入。本教程全程 C#。
1.3 需要安装的三样东西
① .NET SDK(编译器)
Godot 的 .NET 版不自带 C# 编译器,必须自己装。
- 打开 https://dotnet.microsoft.com/download
- 下载 .NET SDK 8.0(LTS,Godot 4.4+ 的最低要求)或更新的 9.0 / 10.0,新手直接装最新的 SDK 即可,项目默认编译目标仍是 net8.0,完全兼容
- Windows 下是个 exe 安装包,一路下一步;macOS 下是 pkg;Linux 用包管理器或微软源
验证:打开终端(Windows 用 PowerShell),输入:
dotnet --info能打印出一堆版本号、看到 8.x 或更高,就成功了。如果提示”找不到命令”,重启终端,还不行就重启电脑(PATH 未刷新)。
② Godot Engine — .NET 版
- 打开 https://godotengine.org/download
- 选你的系统,下载列表里认准名字带 ”.NET” 的那一项:
Godot Engine — .NET,版本 4.7.x(截至 2026-08 最新稳定版是 4.7.2) - ⚠️ 普通版(不带 .NET)不能写 C#,别下错
- Godot 是绿色软件,下载下来是单个可执行文件,不需要安装。把它放到一个固定目录,比如
D:\Tools\Godot\(路径不要有中文、空格、特殊符号)
第一次启动会让你选渲染器:
- Forward+:默认,桌面端效果最全,选它
- Mobile:做手游时用
- GL Compatibility:老硬件/Web 兼容用
③ 代码编辑器(二选一)
Visual Studio Code(推荐,跨平台、免费、轻量)
- 安装 VS Code:https://code.visualstudio.com
- 装两个扩展:
C# Dev Kit(微软官方 ID)、C# Tools for Godot(Godot 调试支持) - Godot 编辑器里:编辑器 → 编辑器设置 → Dotnet → 编辑器 → 外部编辑器 选 Visual Studio Code
Visual Studio(仅 Windows,功能最全、体积大) 社区版免费,安装时勾选 ”.NET 桌面开发” 工作负载。大项目(几百个脚本)的重构、调试体验比 VS Code 强。
用 Rider(JetBrains)也行,Godot 支持很好,但收费,不在新手路线里。
1.4 创建第一个 C# 项目
- 启动 Godot,项目管理器点 新建项目
- 项目路径选一个全英文路径,例如
D:\GameDev\MyFirstGame - 渲染器选 Forward+
- ⚠️ 关键:点”创建”之后,顶部菜单 项目 → 工具 → C# → 创建 C# 解决方案(新版 Godot 也可能在新建项目时直接给 ”.NET/C#” 项目模板选项,有就直接选)。创建成功后项目文件夹里会多出:
MyFirstGame.csproj—— C# 工程文件MyFirstGame.sln—— 解决方案(用 VS Code/VS 打开它)
- 菜单 项目 → 工具 → C# → Build(构建),底部面板显示
Build succeeded,环境全通
如果没有”创建 C# 解决方案”菜单,说明你下的是不带 .NET 的普通版,回去重下。
1.5 认识编辑器界面
打开项目后,主界面是这样的:
┌──────────────────────────────────────────────┐│ 顶部菜单 / 播放按钮 ▶ │├────────┬───────────────────────┬─────────────┤│ 场景 │ │ 检查器 ││ Scene │ 2D/3D 视口 │ Inspector ││ 面板 │ (编辑画面) │ (选中物的 ││ │ │ 所有属性) │├────────┤ ├─────────────┤│ 文件系统│ │ 节点 ││FileSystem │ Node │├────────┴───────────────────────┴─────────────┤│ 底部:输出 / 调试器 / 查找结果 │└──────────────────────────────────────────────┘- FileSystem(文件系统):项目里所有资源、脚本、图片
- Scene(场景):当前场景的节点树
- Inspector(检查器):选中节点后,它的位置、颜色、脚本变量都在这里改
- 视口:所见即所得的编辑区
- 底部输出面板:
GD.Print的文字会出现在这里,C# 编译报错也在这里
右上角三个按钮:
- ▶ 运行项目(F5)
- ⏸ 但更常用的是 F6:运行当前场景(不用每次从主场景启动)
1.6 第一个脚本:让节点开口说话
目标:创建一个节点,挂上 C# 脚本,运行时在输出面板打印一句话。
- 场景面板点 ”+” 或 “其他节点”,搜索
Node(最基础的节点类型),添加 - 场景面板里右键这个 Node → 重命名为
Main - Ctrl+S 保存场景,命名为
main.tscn,存到scenes/文件夹(保存时在弹窗里新建文件夹) - 菜单 项目 → 项目设置 → 应用 → 运行 → 主场景,选
main.tscn(这样 F5 从这里启动) - 选中 Main 节点,点击检查器顶部的 卷轴图标(附加脚本):
- 语言选 C#
- 类名保持
Main,路径res://Main.cs(或建个scripts/文件夹放进去) - ⚠️ 类名必须和文件名完全一致
- 生成的代码长这样:
using Godot;
public partial class Main : Node{ public override void _Ready() { GD.Print("游戏启动了!"); }}- 在
_Ready里补上一行:
GD.Print("你好,Godot C#!");- 点右下角/底部的 Build(构建) 按钮,等
Build succeeded - 按 F5
底部输出面板出现:
游戏启动了!你好,Godot C#!恭喜,环境链路全部跑通:Godot → MSBuild 编译 C# → 引擎加载程序集 → 调用 _Ready → 打印。
每行代码什么意思(先混个眼熟,教程二细讲)
using Godot; // 引入 Godot 的 API 命名空间,GD、Node 都在这里public partial class Main : Node // 声明一个类 Main,它"是"一个 Node{ public override void _Ready() // 重写引擎回调:节点进入场景时执行一次 { GD.Print("..."); // 相当于 GDScript 的 print / 控制台输出 }}partial 是 Godot 源生成器的要求(它会自动帮你生成另一半类代码),看到就照抄,教程二第 5 章解释。
1.7 新手最常见的五个报错
| 现象 | 原因 | 解决 |
|---|---|---|
代码里 GD、Node 全是红线 | .NET SDK 没装 / VS Code 没识别 | 终端 dotnet --info 检查;VS Code 里 Ctrl+Shift+P → Restart OmniSharp/重载窗口 |
Build 报 The name 'XXX' does not exist | 类名和文件名不一致 | 改成一致;重命名类后也要改文件名 |
| 运行了但没执行新代码 | 改完没 Build | Godot 不会自动编译,改完先 Build(或装插件保存自动编译) |
| 脚本报错 “Cannot find script” | 误删了 .csproj/.sln 或路径含中文 | 重建解决方案;项目迁移到纯英文路径 |
| 附加脚本时没有 C# 选项 | 下成了普通版 Godot | 重下 .NET 版 |
1.8 本章作业
- 把打印内容改成当前日期,并用字符串拼接输出,例如
今天是 2026-10-14(提示:先写死字符串就行,别查 API)。 - 再建一个
Node2D场景,挂脚本打印"这是 2D 场景",用 F6 单独运行它。 - 把 Godot 编辑器语言改成中文(编辑器 → 编辑器设置 → 通用 → 语言)再切回英文——专业教程和报错信息几乎都是英文,建议用英文界面,把它当学习的一部分。
下一章我们进入 Godot 最核心的心智模型:节点和场景,这是理解整个引擎的钥匙。
《Godot C# 零基础》系列导航