Godot 4 入门(02):用一个玩家场景理解节点、场景与实例

一、 节点是有单一职责的积木

Sprite2D 负责显示图片,Camera2D 负责观察画面,之后还会用 CollisionShape2D 描述碰撞。节点不必包办一切;多个节点按照父子关系组合,才形成完整对象。

二、 场景是一棵保存下来的节点树

新建场景,以 Node2D 为根节点并命名为 Player,添加两个子节点:

text 复制代码
Player (Node2D)
├── Sprite2D
└── Camera2D

给 Sprite2D.Texture 设置 icon.svg,把场景保存到 scenes/player/player.tscn。这里的 .tscn 是可读文本场景文件。

三、实例不是复制粘贴

打开 main.tscn,删除原来的 Sprite2D,点击"实例化子场景",选择 player.tscn:

text 复制代码
Main (Node2D)
└── Player
    ├── Sprite2D
    └── Camera2D

再添加两个 Player 实例并移动位置。修改 player.tscn 中 Sprite2D 的缩放,三个实例会一起更新;单独修改某个实例的 Position,则只影响它自己。这正是"模板与实例"的关系。

四、生命周期先记两个节点

  • 节点进入场景树后会收到 _enter_tree()。
  • 自己与子节点准备完成后会收到 _ready()。
  • 父节点被释放时,其子节点也会随之释放。

运行游戏后切换场景面板的"本地/远程",远程场景树展示的是此刻真正运行的节点,排查动态节点时非常有用。

相关推荐
狂人开飞机11 天前
23、实战平台跳跃游戏
游戏·游戏引擎·godot
狂人开飞机12 天前
27、实战物理益智游戏
游戏·游戏引擎·godot
狂人开飞机13 天前
21、游戏架构设计模式
游戏·游戏引擎·godot
烛阴13 天前
Godot 4 入门(04):CharacterBody2D 实现八方向移动
godot
狂人开飞机14 天前
14、游戏手感与视觉打磨
游戏·游戏引擎·godot
狂人开飞机14 天前
15、音频系统
游戏引擎·godot
狂人开飞机15 天前
16、粒子线条与视觉特效
游戏引擎·godot
狂人开飞机15 天前
11、UI系统
游戏引擎·godot
狂人开飞机16 天前
10、相机系统
游戏引擎·godot
烛阴18 天前
Godot 4 入门(03):用第一份 GDScript 驱动节点
godot