静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
Q
QianXun @QianXun · 2026-09-26 16:39

> 本系列基于 Godot 4.7 稳定版。本篇目标:装好引擎、认全界面、理解「节点树」这个最核心的直觉,亲手搭出第一个可运行的场景。全程不写一行代码。

一、下载与安装:一个 zip 就是一个引擎

去 godotengine.org/download 下载 Windows 版。你会看到一个选择:Standard 版和 .NET 版。

  • Standard 版:内置 GDScript 与 GDExtension 支持,约 50 MB,解压即用。
  • .NET 版(旧称 mono):额外支持 C#,需要你机器上装好 .NET SDK(4.x 支持 .NET 8/9;4.5 起还支持 NativeAOT 编译发布)。
新手一律先拿 Standard 版。Godot 没有「安装程序」——下载的是一个压缩包,解压出单个 exe,双击就进编辑器。它甚至可以放进 U 盘随身携带。这种「绿色软件」气质,正是它作为开源项目的底色。

另有一条新路径值得知道:4.7 里 GABE(Godot Android Build Environment)已到稳定版,配合安卓编辑器,你甚至可以全程在安卓平板上开发并导出游戏——这在所有游戏引擎里是头一份。

二、项目管理器与编辑器:四个核心区域

新建项目(选兼容性渲染器即可,后文第七级细讲),进入编辑器。界面分成四个区域,对应四种心智:

  • 左上 · 场景面板(Scene):你的「世界」由一棵节点树构成。这里是树的目录。
  • 中上 · 视口(Viewport):所见即所得的编辑空间,2D/3D 切换在左上角标签。
  • 左下 · 文件系统(FileSystem):项目目录的镜像,所有资源(res:// 虚拟路径下)都在这里。
  • 下方 · 检查器(Inspector)+ 底部停靠区:Inspector 显示当前选中节点的属性;底部依次是动画、调试器、音频、输出等面板。
4.6 把社区广受欢迎的「Modern」主题设为了默认,界面更中性、灰度配色更护眼;如果你偏好旧观感,编辑器设置里可切回「Classic」。

一个 4.7 的小甜点:底部面板现在可以拖到编辑器任意边、还能浮动(4.6 引入的统一停靠系统),把动画编辑器拖到右边、输出面板拉到第二屏幕,都是合法操作。

三、亲手搭第一个场景:一个会弹跳的方块

不写代码,纯点鼠标,十分钟内做完:

  • 按 F5 会提示选主场景——先不管,我们从建场景开始。点场景面板的「其他节点」,搜 CharacterBody2D,创建。
  • 选中它,按 Ctrl+A(添加子节点)依次加三个子节点:CollisionShape2D(在 Inspector 里给它指定一个 RectangleShape2D)、Sprite2D(临时用 Godot 内置图标图标 texture,或随便拖一张图进 FileSystem 再指过去)、以及一个 AnimationPlayer。
  • 再建一个场景当地面:StaticBody2D + CollisionShape2D(长条矩形)+ 一个有颜色的 ColorRect 或 Polygon2D 当外观。
  • 把地面场景实例拖进主场景(直接从 FileSystem 里把 .tscn 文件拖进视口)——这一下就是「场景实例化」,Godot 组合世界的全部秘密。
  • 给 CharacterBody2D 挂一个简单的 GDScript(脚本编辑器在顶部「脚本」标签,快捷键 F2):
extends CharacterBody2D

const SPEED := 300.0
const JUMP := -400.0

func _physics_process(delta: float) -> void:
    if not is_on_floor():
        velocity += get_gravity() * delta
    if Input.is_action_just_pressed("ui_accept") and is_on_floor():
        velocity.y = JUMP
    var direction := Input.get_axis("ui_left", "ui_right")
    if direction:
        velocity.x = direction * SPEED
    else:
        velocity.x = move_toward(velocity.x, 0, SPEED)
    move_and_slide()

按 F5 运行。一个会左右移动、会跳、落在地面上的方块诞生了。

这里先不求全懂,只标记三个「锚点」,后文会逐一展开:

  • velocity 不是你自己声明的变量,move_and_slide() 也不是你写的函数——它们是 CharacterBody2D 基类自带的,引擎替你处理了碰撞滑动。
  • _physics_process(delta) 是引擎每物理帧回调的函数,delta 是帧间隔秒数,一切与时间相关的运动都要乘它。
  • get_gravity() 是 4.3 加入的便捷方法,自动读项目重力设置——不再需要手写 Vector2(0, 980)。

四、最该先养成的四个习惯

  • 重命名一切。新建节点的默认名(CharacterBody2D、Sprite2D)是万恶之源,改成 Player、IdleSprite。命名即文档。
  • 用 % 唯一名称。在场景面板右键节点勾选「作为场景唯一名称访问」,之后任何脚本里 $%Player 都能直达,改层级结构也不会断引用。这是 4.x 对旧版 $A/B/C 长路径的正解。
  • 先建输入映射再写输入。项目设置 → 输入映射,把 ui_accept 换成你自己定义的 jump(绑定空格 + 手柄 A 键),代码里就永远写 Input.is_action_just_pressed("jump"),键位变更零成本。
  • 一开场就开 Git。Godot 项目是纯文本(.tscn / .gd / .tres),天生适合版本控制。官方文档有专门的「与 Git 共舞」章节,把 .godot/ 目录加进 .gitignore 即可。

五、常见第一晚事故清单

  • 运行后窗口一闪而过:没设主场景。第一次按 F5 会弹窗让你指定,选当前场景即可。
  • 方块穿地而过:多半是 CollisionShape2D 忘了指定 shape,或地面忘了用 StaticBody2D——ColorRect 只是外观,外观节点不参与物理,这是新人第一课。
  • 画面黑漆漆(3D 项目):3D 需要光源或环境光,WorldEnvironment + 一盏 DirectionalLight3D 是标准开局三件套的其中两件。
  • 中文界面:编辑器 → 设置 → 常规 → 界面 → 编辑器语言,官方中文翻译完整可用。
下一步,第二级台阶:节点与场景——把「一切皆节点」这个世界观彻底讲透,你会明白为什么 Godot 圈流行一句话:「组合优于继承」。

*本篇配图:编辑器四象限与场景树生长。*

第一级 · 起手式:编辑器四象限与场景树

暂无表态