1.Godot引擎|场景|节点|GDS|介绍
Godot介绍
Godot是一款游戏引擎
可以通过在steam商城免费下载
初学者和编程基础稍差的推荐学习使用GDScript,和python有些相似
Godot节点
Godot的开发思想——围绕节点
- 节点的特征与优势
- 最常用基本的开发组件
- 大部分都具有具体的功能,如图片,音乐,模型,物理等
- 可以有上下级的方式组合,一个节点可以有多个字节点
- 可以通过拼接节点的方式来拼出游戏的内容
- 节点是在场景树与服务器的控制下运行的
- 场景树是游戏的主循环对象,只有属于树的节点才可以正常行使节点的主要功能,而节点初始化时并不在树下
- 服务器指的是Godot内置的Server,节点的主要功能都要使用Server实现,节点本身并不具备实际的功能,二者通过场景树进行协同沟通
- 服务器的编码比较接近底层,保障了游戏运行的效率,节点的设计思路比较接近人类,加速了开发游戏的效率。场景树起到了协调两者的作用
- 节点的组织方式——场景
- 场景是若干节点的集合,可以把节点分别放到多个场景里面
- 场景文件是记录若干节点集合的文件
- 游戏实际运行时不存在场景,场景是节点在文件系统中储存和加载的单位
- 游戏从主场景开始运行
![![[Pasted image 20240408200529.png]]](https://img-blog.csdnimg.cn/direct/85edda90c6164f4bb470db1c75a80073.png)
树状结构
节点树:组成一个场景
场景:就是一个节点树
场景基本操作
![![[Pasted image 20240408193155.png]]](https://img-blog.csdnimg.cn/direct/a81af47ea4ca4df7915b8e3b5eb5269e.png)
![![[Pasted image 20240408193342.png]]](https://img-blog.csdnimg.cn/direct/d2512af8ed7c4ee889205e3d07dd5f9e.png)
![![[Pasted image 20240408193455.png]]](https://img-blog.csdnimg.cn/direct/a1c35937f705475697d1d117578aaad3.png)
![![[Pasted image 20240408193621.png]]](https://img-blog.csdnimg.cn/direct/c6bb062d91f14b8ca8dab98186a38d05.png)
第一个三角形指的是运行项目的主场景
后面的运行指的是运行当前正在编辑的场景
这两个是不同的
- Godot的界面——围绕节点
- 场景栏:可以增删场景内的节点,还可以为节点附加脚本
- 文件系统:可以显示场景文件与游戏素材文件
- 视图区:可以预览场景内的可视节点,编写代码与查看素材库
- 2D:当在场景分栏中所选节点为2D类型时,会自动进入此工作区
- 3D:当在场景分栏中所选节点为3D类型时,会自动进入此工作区
- 脚本(Script):此工作区可以对当前项目中的脚本进行编辑
- 资源库(AssetLib):可以搜索并浏览网站上的资源
- 检查器:可以显示节点的属性,显示节点的信号连接,节点组情况与游戏素材文件属性
![![[Pasted image 20240408194257.png]]](https://img-blog.csdnimg.cn/direct/0db46ff21e784c6ab9ec1e7bcc4a9dde.png)
GDScript
- 介绍
- 是Godot的原生语言,是最适合Godot开发的语言
- 在入门阶段,只需要知道GDScript可以为节点拓展功能
- 与节点的关系
- 节点有具体的功能,可以让游戏执行显示图片,视频,模拟物理体等功能
- 游戏除了上述功能以外,还有内在的一套逻辑,如游戏的规则
- GDS负责实现内在的逻辑,同时控制节点展示具体的功能。如角色生命值的增减和角色存活的判断
- GDS学习步骤
- 了解掌握简单变量的定义与简单使用
- 了解掌握函数的定义,参数,返回值的概念,认识常见函数
- 了解掌握if和while的使用
- 了解掌握数组与for的简单使用
项目窗口设置
![![[Pasted image 20240408195333.png]]](https://img-blog.csdnimg.cn/direct/887f7dabf94547fcba8e4cec4818ba33.png)
可以设置游戏制作完成之后的分辨率和模式
调节分栏位置
![![[Pasted image 20240408204929.png]]](https://img-blog.csdnimg.cn/direct/294034f2a6714ea89bffb6fee4544ce3.png)
在界面左上角
导入
![![[Pasted image 20240408205026.png]]](https://img-blog.csdnimg.cn/direct/c0172edc2cbd40f6850022807a811c4d.png)
显示导入的文件的信息
导入资源
直接将资源拖拽到Godot左下角的文件系统的目录中就可以
场景视图

场景视图Scene ,在编辑器所看到的窗口,即场景编辑器窗口,默认地,创建了一个场景empty
- 可以通过鼠标滚轮来放大和缩小
- 鼠标中键可以拖拽来平移场景视图
- 网格,每个大网格包括
8*8个小网格,每个小网格包含8个像素 - 场景视图中的蓝色框区域是可见的范围,对应的就是运行游戏的时候的游戏视图
游戏视图
游戏视图就是游戏实际运行的窗口,里面没有可编辑的东西
![![[Pasted image 20240408210415.png]]](https://img-blog.csdnimg.cn/direct/696a370f64c8420abbd55a1ac6f34b7c.png)
相关文章:
1.Godot引擎|场景|节点|GDS|介绍
Godot介绍 Godot是一款游戏引擎 可以通过在steam商城免费下载 初学者和编程基础稍差的推荐学习使用GDScript,和python有些相似 Godot节点 Godot的开发思想——围绕节点 节点的特征与优势 最常用基本的开发组件大部分都具有具体的功能,如图片…...
springboot3 redis 实现分布式锁
分布式锁介绍 分布式锁是一种在分布式系统中用于控制不同节点上的进程或线程对共享资源进行互斥访问的技术机制。 在分布式环境中,多个服务可能同时访问和操作共享资源,如数据库、文件系统等。为了保持数据的一致性和完整性,需要确保在同一…...
2024年第十四届MathorCup数学应用挑战赛A题思路分享(妈妈杯)
A题 移动通信网络中PCI规划问题 物理小区识别码(PCI)规划是移动通信网络中下行链路层上,对各覆盖小区编号进行合理配置,以避免PCI冲突、PCI混淆以及PCI模3干扰等现象。PCI规划对于减少物理层的小区间互相干扰(ICI),增加物理下行控制信道(PDCCH)的吞吐量有着重要的作用,尤其…...
运动听歌哪款耳机靠谱?精选五款热门开放式耳机
随着人们对运动健康的重视,越来越多的运动爱好者开始关注如何在运动中享受音乐。开放式蓝牙耳机凭借其独特的设计,成为了户外运动的理想选择。它不仅让你在运动时能够清晰听到周围环境的声音,保持警觉,还能让你在需要时与他人轻松…...
Kubernetes学习笔记12
k8s核心概念:控制器: 我们删除Pod是可以直接删除的,如果生产环境中的误操作,Pod同样也会被轻易地被删除掉。 所以,在K8s中引入另外一个概念:Controller(控制器)的概念,…...
Qt Designer 控件箱中的控件介绍及布局比列分配
控件箱介绍 Qt Designer的控件箱(Widget Box)包含了各种常用的控件,用户可以通过拖放的方式将这些控件添加到窗体设计器中,用于构建用户界面。以下是一些常见控件箱中的控件及其功能的讲解: 1.基本控件&#…...
蓝桥集训之三国游戏
蓝桥集训之三国游戏 核心思想:贪心 将每个事件的贡献值求出 降序排序从大到小求和为正是即可 #include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;const int N 100010;int a[N],b[N],c[N];…...
MySQL知识整理
MySQL知识整理 基础第一讲:基础架构:一条SQL查询语句是如何执行的?架构尽量减少长连接的原因和方案为什么尽量不要依赖查询缓存 索引第四讲:深入浅出索引(上)第五讲:深入浅出索引(下…...
代码随想录算法训练营第36天| 435. 无重叠区间、 763.划分字母区间*、56. 合并区间
435. 无重叠区间 力扣题目链接 代码 示例代码 class Solution { public:// 按照区间右边界排序static bool cmp (const vector<int>& a, const vector<int>& b) {return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>&a…...
SpringBoot整合Nacos
文章目录 nacosnacos下载nacos启动nacos相关配置demo-dev.yamldemo-test.yamluser.yaml 代码pom.xmlUserConfigBeanAutoRefreshConfigExampleValueAnnotationExampleDemoApplicationbootstrap.yml测试结果补充.刷新静态配置 nacos nacos下载 下载地址 一键傻瓜试安装即可,官…...
vue3 浅学
一、toRefs 问题: reactive 对象取出的所有属性值都是⾮响应式的 解决: 利⽤ toRefs 可以将⼀个响应式 reactive 对象的所有原始属性转换为 响应式的 ref 属性 二、hook函数 将可复⽤的功能代码进⾏封装,类似与vue2混⼊。 三、ref:获取元素或者组件 let …...
三小时使用鸿蒙OS模仿羊了个羊,附源码
学习鸿蒙arkTS语言,决定直接通过实践的方式上手,而不是一点点进行观看视频再来实现。 结合羊了个羊的开发思路,准备好相应的卡片素材后进行开发。遇到了需要arkTS进行解决的问题,再去查看相应的文档。 首先需要准备卡片对应的图片…...
如何使用 ArcGIS Pro 制作热力图
热力图是一种用颜色表示数据密度的地图,通常用来显示空间分布数据的热度或密度,我们可以通过 ArcGIS Pro 来制作热力图,这里为大家介绍一下制作的方法,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的POI数…...
SpringBoot之集成Redis
SpringBoot之集成Redis 一、Redis集成简介二、集成步骤2.1 添加依赖2.2 添加配置2.3 项目中使用 三、工具类封装四、序列化 (正常都需要自定义序列化)五、分布式锁(一)RedisTemplate 去实现场景一:单体应用场景二&…...
mybatis-plus与mybatis同时使用别名问题
在整合mybatis和mybatis-plus的时候发现一个小坑,单独使用mybatis,配置别名如下: #配置映射文件中指定的实体类的别名 mybatis.type-aliases-packagecom.jk.entity XML映射文件如下: <update id"update" paramete…...
MySQL基础知识——MySQL日志
一条查询语句的执行过程一般是经过连接器、 分析器、 优化器、 执行器等功能模块, 最后到达存储引擎。 那么, 一条更新语句的执行流程又是怎样的呢? 下面我们从一个表的一条更新语句进行具体介绍: 假设这个表有一个主键ID和一个…...
uniapp 地图分幅网格生成 小程序基于map组件
// 获取小数部分 const fractional function(x) {x Math.abs(x);return x - Math.floor(x); } const formatInt function(x, len) {let result x;len len - result.length;while (len > 0) {result 0 result;len--;}return result; }/*** 创建标准分幅网格* param …...
python项目练习——22、人脸识别软件
功能分析: 人脸检测: 识别图像或视频中的人脸,并标记出人脸的位置和边界框。 人脸识别: 识别人脸的身份或特征,通常使用已知的人脸数据库进行训练,然后在新的图像或视频中识别出人脸并匹配到相应的身份。 表情识别: 识别人脸的表情,如高兴、悲伤、愤怒等,并给出相应…...
Linux中账号登陆报错access denied
“Access denied” 是一个权限拒绝的错误提示,意味着用户无法获得所请求资源的访问权限。出现 “Access denied” 错误的原因可以有多种可能性,包括以下几种常见原因: 错误的用户名或密码:输入的用户名或密码不正确,导…...
python语言之round(num, n)小数四舍五入
文章目录 python round(num, n)小数四舍五入python round(num, n)基础银行家舍入(Bankers Rounding)利息被银行四舍五入后,你到底是赚了还是亏了? python小数位的使用decimal模块四舍五入(解决round 遇5不进) python round(num, n…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
归并排序:分治思想的高效排序
目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法,由约翰冯诺伊曼在1945年提出。其核心思想包括: 分割(Divide):将待排序数组递归地分成两个子…...
联邦学习带宽资源分配
带宽资源分配是指在网络中如何合理分配有限的带宽资源,以满足各个通信任务和用户的需求,尤其是在多用户共享带宽的情况下,如何确保各个设备或用户的通信需求得到高效且公平的满足。带宽是网络中的一个重要资源,通常指的是单位时间…...
【QT】qtdesigner中将控件提升为自定义控件后,css设置样式不生效(已解决,图文详情)
目录 0.背景 1.解决思路 2.详细代码 0.背景 实际项目中遇到的问题,描述如下: 我在qtdesigner用界面拖了一个QTableView控件,object name为【tableView_electrode】,然后【提升为】了自定义的类【Steer_Electrode_Table】&…...
NoSQL——Redis配置与优化
目录 关系型&非关系型数据库 一、核心原理对比 二、核心特性对比 三、关键区别剖析 四、典型产品示例 总结 Redis Redis核心原理 核心特性 技术意义 配置文件解析 1. 基础配置 2. 持久化配置 3. 内存管理 4. 高可用配置 5. 性能调优 6.…...
