HOME / 第 2 部分 · 核心概念与 GDScript 语法 / 第 6 课
MODULE 2 · 核心概念与 GDScript 语法

第 6 课 · 节点(Node)系统详解

⏱ 预计时长 20 分钟📊 难度 入门📚 模块 第 2 部分 · 核心概念与 GDScript 语法

🎯 本课学习目标

节点是 Godot 的积木。本课用大量实例讲透「节点」,这是整个引擎最重要的概念,没有之一。

📖 详细教学步骤

节点 = 游戏里的最小零件概念

在 Godot 里,所有东西都是节点(Node)

  • 一张图片 → Sprite2D 节点
  • 一个按钮 → Button 节点
  • 一段声音 → AudioStreamPlayer 节点
  • 一个计时器 → Timer 节点
  • 一行文字 → Label 节点

节点只有一种能力——它本身只是一个「存在」,具体能干什么是通过它的类型决定的。比如 Sprite2D 能显示图片,Label 能显示文字。

节点有父子关系(树状结构)概念

节点可以嵌套:一个节点可以有子节点,也可以有父节点

  • 子节点会跟随父节点移动/旋转/缩放(位置是相对父节点的)
  • 父节点删除,所有子节点一起删除
  • 这种结构叫「节点树」(Node Tree)

💡 例:一个「玩家」节点下挂着「身体(精灵)」和「剑(精灵)」两个子节点,玩家移动,身体和剑自动跟着走。

最常用的节点类型一览汇总

节点类型用途
Node2D所有 2D 节点的基类,带位置/旋转/缩放
Sprite2D显示一张 2D 图片(精灵)
CharacterBody2D角色物理体(玩家/敌人),可移动+碰撞
RigidBody2D刚体,受重力/物理影响(箱子、弹珠)
Area2D区域触发器,检测「谁进入了这块区域」
StaticBody2D静态物体(地面、墙壁)
Label显示文字
Button可点击按钮
Timer计时器,倒计时触发
Camera2D2D 摄像机,跟随画面

在场景里添加节点(复习)实操

  1. 在场景面板右键根节点 → 添加子节点(Add Child Node)
  2. 搜索节点类型名(如 Label)并选择
  3. 给节点改名:选中节点按 F2,改成有意义的名字(如 ScoreLabel

命名规范建议:首字母大写 + 驼峰命名(如 PlayerSprite),方便管理。

⚠️
节点和对象有什么区别?

在 Godot 中,Node 是所有节点的基类,本质上也是一种对象。你可以简单理解:节点就是「带树状结构能力的对象」。

⚠️
子节点相对父节点移动,那我想让子节点放在屏幕绝对位置怎么办?

让它脱离父节点,直接放在根节点下面;或使用 CanvasLayer 等特殊节点。现阶段只需理解「相对位置」即可。

🧪 动手试一试

🏋️ 课后练习

新建一个场景,添加 Node2D 根节点,然后依次添加 Sprite2D、Label、Timer 三个子节点,并分别重命名为 Player、NameLabel、GameTimer。

右键根节点 → 添加子节点 → 搜索类型 → F2 重命名。添加完的树状结构类似:Node2D ├─Player ├─NameLabel └─GameTimer

💡

节点类型按 F1 可以打开内置文档(英文),遇到不懂的类型就查。

💡

记住:选节点 → 看场景面板树状图,谁缩进在谁下面,谁就是它的子节点。

🎓 本课小结

节点是 Godot 一切的基础,具有树状的父子关系:子节点跟随父节点,父节点删除子节点随之删除。常用节点有精灵、物理体、标签、按钮、计时器等。