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()
  • 父节点被释放时,其子节点也会随之释放。

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

相关推荐
wgslucky4 小时前
Godot GDScript初学者遇到的问题记录
游戏引擎·godot
点心的游戏开发世界6 小时前
GDScript 入门笔记(五):函数
笔记·游戏引擎·godot
学习星球14 小时前
AI 原生游戏开发:Godot 4 + AI Agent 全栈指南(Ziva 3 / Godot MCP 深度实战)
人工智能·游戏引擎·godot
点心的游戏开发世界2 天前
GDScript 入门笔记(二):变量与数据类型
笔记·游戏引擎·godot
烛阴4 天前
Godot 4 入门(01):安装、汉化并运行第一个 2D 游戏场景
godot
k4m7v2pz8 天前
Godot 4 仿 agar.io:相机缩放被 max_zoom 卡死,窗口越大球越小的根因与修复
游戏引擎·godot·相机·缩放·clamp·camera2d
k4m7v2pz9 天前
Godot 4 窗口拉伸黑边与变形:stretch 配置全解析
数码相机·游戏引擎·godot·2d游戏·黑边·stretch·画面比例
k4m7v2pz10 天前
Godot 4 仿 agar.io 卡顿优化:用空间网格把 30 万次碰撞检测降到几千次
性能优化·godot·游戏开发·碰撞检测·空间网格
k4m7v2pz10 天前
Godot 4 嵌入式试玩窗口尺寸与适配策略详解
编辑器·游戏引擎·godot·游戏开发·嵌入式运行