凉鞋的 Godot 笔记 102. 场景与节点的增删改查

news2024/11/26 19:38:22

在上一篇,我们完成了 Godot 引擎的 Hello World 输出,并且完成了第一个基本循环:

image-20230926104130559

通过这次基本循环的完成,我们获得了一点点的 Godot 使用经验,这非常重要。

有实践经验后再去补充理论 和 先学习理论后去实践相比,前者的学习效率和体验会更好。

好了,我们进入正题。

我们完成了一个基本循环,这个基本循环包含编辑和测试两大步骤,而每个大步骤有一些小步骤:

  • 基本循环
    • 编辑
      • 创建场景
      • 新建脚本
      • 编写脚本
    • 测试
      • 运行当前场景

首先在"创建场景"这个步骤的时候,我们接触的窗口是场景窗口:

image-20230926114541773

对于很多童鞋来说,场景应该不是一个陌生的概念了,所以笔者不在此赘述。

Godot 与大多数引擎一样,在场景中,我们可以对游戏物体进行增删改查。

在 Godot 中,游戏物体的基本单位叫做 Node,即节点,这很容易理解,主角是一个节点、摄像机是一个节点、当然也可以包含什么都不干的空节点。如果开发者想要在游戏中增加一个物体,比如箱子或者是枪,那么第一个操作肯定是先创建一个节点。

我们简单整理一下场景和节点的关系,如下:

  • 场景 节点的增删改查
    • 节点

非常简单。

我们就按照增删改查的顺序简单介绍下。

如何增加节点?

增加节点非常简单,只需鼠标右键点击场景的根节点,点击添加子节点即可,如图所示:

image-20230926115508005

点击后会弹出窗口:

image-20230926115527843

这里有非常多的内容,它们都是 Node,我们先不介绍,我们只创建一个简单的 Node,选择 Node 点击创建即可:

image-20230926115609489

创建后场景窗口如下:

image-20230926115648635

这里我们发现,场景的根节点只能有一个,这是 Godot 引擎与其他引擎不一样的地方。

不过根节点之下,可以有多个节点,我们可以让场景变成如下:

image-20230926115825579

这就是 Godot 的游戏物体的组织方式,是树状的。

如何删除节点?

删除节点非常简单,还是对要删除的节点进行鼠标右键点击,最下方有个删除节点,如下:

image-20230926120000503

点击后节点后会弹出窗口:

image-20230926120034759

点击确定后,就会删除,如图所示:

image-20230926120050862

当然,根节点肯定是不能删除的。

如何修改节点?

在场景窗口中只能修改节点的名字、父子关系、以及顺序。

修改名字就是重命名:

image-20230926120215156

修改父子关系,直接拖拽即可:

image-20230926120248502

当然也可以鼠标右键选择重设父节点:

image-20230926120320929

最后就是移动顺序,同样可以用拖拽或者在右键菜单中选择的方式,这里不再演示:

image-20230926120403700

如何查询节点?

在场景顶部有个输入框,直接输入名字即可:

image-20230926120447552

好了,这样我们就介绍完了场景窗口,以及节点的增删改查部分。

这篇内容就这些,我们下一篇再见,拜拜。

知识地图

image-20230926120636010

更多内容

更新期间半价,保持 60% 的内容免费更新到此平台
更多内容请自行百度同名内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1053192.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GitHub上有助于开发微信小程序的仓库

2023年9月30日,周六晚上 最近帮同学在GitHub找了一些开发小程序会用到的东西 目录 UI库WePY框架基于WePY框架的Demo微信小程序开发资源汇总 UI库 GitHub - Tencent/weui-wxss: A UI library by WeChat official design team, includes the most useful widgets/m…

LOD1.3快速构建 | 多源数据自动化作业、图元和体块模型快速编辑、智能纹理贴图...

2023年,自然资源部先后发布了《实景三维中国建设总体实施方案(2023—2025年)》、《实景三维中国建设城市三维模型快速构建技术规定(征求意见稿)》等文件,明确提出,2024年底完成城市三维模型&…

httpserver 下载服务器demo

实现效果如下&#xff1a; 图片可以直接显示 cpp h 这些可以直接显示 其他的 则是提示是否要下载 单线程 还有bug 代码如下 先放上来 #include "httpserver.h" #include "stdio.h" #include <stdlib.h> #include <arpa/inet.h> #include…

哈希表hash_table

一个人为什么要努力&#xff1f; 我见过最好的答案就是&#xff1a;因为我喜欢的东西都很贵&#xff0c;我想去的地方都很远&#xff0c;我爱的人超完美。文章目录 哈希表的引出unordered系列的关联式容器 底层结构哈希的概念 开放寻址法拉链法&#xff08;哈希桶&#xff09;拉…

【C++进阶】:C++11

C11 一.统一列表的初始化1.{}初始化2.initializer_list 二.声明1.decltype2.nullptr 三.右值引用和移动语义1.左值和右值1.转义语句2.完美转发 四.可变参数模板1.基本概念2.STL里emplace类接口 五.lambda表达式六.新的类功能 一.统一列表的初始化 1.{}初始化 在C98中&#xf…

CSS文本属性和Emmet语法

CSS文本属性 有预定的颜色值 red,green,blue 十六进制 #ff00000,#FF5500 ,#29D794 RGB代码 rgb(255,0,0)或rgb(100%,0%,0%) <head> <style>p {text-align: right;//让字体向右移动text-decoration: normal;}a {text-decoration: none;//去掉连接的下划线color: …

beego---ORM相关操作

Beego框架是go语言开发的web框架。 **那什么是框架呢&#xff1f;**就是别人写好的代码&#xff0c;我们可以直接使用&#xff01;这个代码是专门针对某一个开发方向定制的&#xff0c;例如&#xff1a;我们要做一个网站&#xff0c;利用 beego 框架就能非常快的完成网站的开发…

【随笔记】C++ condition_variable 陷阱

问题说明 通过 std::condition_variable 来实现超时等待&#xff0c;会受到系统时间变化的影响&#xff0c;系统时间倒退修改就会导致延后唤醒&#xff0c;系统时间提前将会导致提前被唤醒&#xff0c;返回结果仍为超时。 这种问题只有在系统时间发生变化的时候才会出现&…

MyBatisPlus(七)等值查询

等值查询 条件查询&#xff1a;使用 Wrapper 对象&#xff0c;传递查询条件。 QueryWrapper&#xff08;不要使用&#xff09; 代码 Testvoid eq() {QueryWrapper<User> wrapper new QueryWrapper<>();wrapper.eq("name", "张三");List<…

装饰器模式详解和实现(设计模式 二)

装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你动态地将对象添加到现有对象中&#xff0c;以提供额外的功能&#xff0c;同时又不影响其他对象。 实现示例 1.定义一个接口或抽象类&#xff0c;表示被装饰对象的公共接口 //抽…

CSS 滚动驱动动画 view-timeline-inset

view-timeline-inset 语法例子&#x1f330; 正 scroll-padding 为正正的 length正的 percentage 负 scroll-padding 为负负的 length负的 percentage 兼容性 view-timeline-inset 在使用 view() 时说过, 元素在滚动容器的可见性推动了 view progress timeline 的进展. 默认…

数据结构—快速排序(续)

引言&#xff1a;在上一篇中我们详细介绍了快速排序和改进&#xff0c;并给出了其中的一种实现方式-挖坑法 但其实快速排序有多种实现方式&#xff0c;这篇文章再来介绍其中的另外两种-左右指针法和前后指针法。有了上一篇挖坑法的启示&#xff0c;下面的两种实现会容易许多。 …

面试记录_

1&#xff1a;面试杉岩数据&#xff08;python开发&#xff09; 1.1.1 选择题 for(int i0;i<n;i){for(int j0;j<n;jji) } }O(n) * (O(0) O(n/1) O(n/2) O(n/3) ... O(n/n)) 在最坏情况下&#xff0c;内部循环的迭代次数为 n/1 n/2 n/3 ... n/n&#xff0c;这是…

电脑找不到vcruntime140_1.dll丢失的解决方法-一键修复教程

vcruntime140_1.dll是一个动态链接库文件&#xff0c;它是Microsoft Visual C Redistributable的一部分。这个库文件包含了一些运行时函数&#xff0c;用于支持各种软件程序的正常运行。当一个程序需要调用这些函数时&#xff0c;它会通过加载vcruntime140_1.dll文件来实现。因…

MySQL基础进阶

文章目录 MySQL基础进阶 约束 \color{red}{约束} 约束约束的概念和分类约束的概念约束的分类 非空约束概念语法 唯一约束概念语法 主键约束概念语法 数据库设计 \color{red}{数据库设计} 数据库设计软件的研发步骤数据库设计概念数据库设计的步骤表关系一对一一对多&#xff08…

Vue3父子组件数据传递

getCurrentInstance方法 Vue2中&#xff0c;可以通过this来获取当前组件实例&#xff1b; Vue3中&#xff0c;在setup中无法通过this获取组件实例&#xff0c;console.log(this)打印出来的值是undefined。 在Vue3中&#xff0c;getCurrentInstance()可以用来获取当前组件实例…

el-menu 导航栏学习(1)

最简单的导航栏学习跳转实例效果&#xff1a; &#xff08;1&#xff09;index.js路由配置&#xff1a; import Vue from vue import Router from vue-router import NavMenuDemo from /components/NavMenuDemo import test1 from /components/test1 import test2 from /c…

1200*B. Sorted Adjacent Differences(构造)

Problem - 1339B - Codeforces 解析&#xff1a; 题目要求每相邻两个值差的绝对值相等或递增。 先排序&#xff0c;可以想到我们先取两侧的数肯定相距最远&#xff0c;然后靠中心每次取两个数&#xff0c;这样符合题目要求。 直接遍历&#xff0c;先取的是答案靠后的数据&…

基于微信小程序的校园快递代取系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信小程序端的主要功能有&#xff1a;配送员微信小程序端的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获…

python爬取沈阳市所有肯德基餐厅位置信息

# 爬取沈阳所有肯德基餐厅位置信息 import requests import json import reurl http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?opkeyword headers {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0…