3.Godot节点编辑操作及类的继承关系

本文介绍了Godot游戏引擎中的节点概念,包括父子关系、节点的显示与隐藏、pivot轴心点和anchor锚点的作用,以及类的继承关系,如Node、Node3D、Node2D等。此外,还提到了碰撞检测、GUI控制和资源加载等内容。
1. 节点的父子关系
  • 在层级树中,对象 (节点) 呈树形显示,一个节点下面,也可以下挂子节点
    ![[Pasted image 20240413203112.png]]
1 添加两个对象
2 拖拽一个对象到另一个对象,成为子对象 (子节点)
3 移动父对象、旋转父对象,观察

可以发现,当父对象移动时,子对象随之移动
  • 理解相对坐标
子对象的坐标轴,是相对于父对象的
1 移动父对象时,子对象的 Position 不发生变化
2 旋转父对象时,子对象的 Rotation 不发生变化
2. 节点的显示和隐藏
  • 删除游戏对象
    ![[Pasted image 20240413203424.png]]
Godot 引擎中,根节点(Root Node)是指场景树(Scene Tree)中最顶层的节点,它作为整个场景结构的起点。每个独立的场景都有一个根节点,该节点没有父节点[^1]。根节点的作用似于文件系统的根目录,所有其他节点都是它的子节点或后代节点Godot 中的根节点通常是一个 `Node` 型的实例,但它也可以是任何继承自 `Node` 的型,比如 `Spatial` 或 `Node2D`,这取决于具体场景的需求[^1]。例如,在 2D 游戏中,根节点可能是一个 `Node2D`,而在 3D 场景中,则可能是 `Spatial` 节点。 ### 根节点操作Godot 编辑器中,可以通过以下方式对根节点进行操作: - **添加子节点**:右键点击场景面板中的根节点,选择“添加子节点”(Add Child Node),然后从可用的节点型中选择一个来创建新的子节点。 - **删除根节点**:如果需要删除根节点,必须先确保它没有任何子节点。一旦根节点被删除,整个场景将不再存在。 - **替换根节点**:可以通过导出和导入功能来实现,或者通过脚本动态更改场景的根节点。 ### 使用脚本访问根节点 可以使用脚本来访问和操作节点。以下是一个简单的 GDScript 示例,展示如何获取当前场景的根节点并添加一个新的子节点: ```gdscript # 获取根节点 var root_node = get_tree().get_root().get_child(0) # 创建一个新的子节点 var new_node = Node.new() new_node.name = "NewNode" # 添加新节点到根节点 root_node.add_child(new_node) ``` 上述代码中,`get_tree()` 返回当前节点所属的场景树,`get_root()` 返回场景树的根节点,而 `get_child(0)` 则用于获取实际的场景根节点,因为 `get_root()` 返回的是编辑器内部使用的 `EditorNode`,其第一个子节点才是用户定义的场景根节点[^1]。 ### 注意事项 当处理根节点时,需要注意不要意外地移除或修改了重要的子节点,以免破坏整个场景结构。此外,在多人协作开发时,应确保团队成员之间有良好的沟通,以避免对根节点做出冲突的修改。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值