当前位置: 首页 > news >正文

1.Godot引擎|场景|节点|GDS|介绍

Godot介绍

Godot是一款游戏引擎
可以通过在steam商城免费下载
初学者和编程基础稍差的推荐学习使用GDScript,和python有些相似

Godot节点

Godot的开发思想——围绕节点

  1. 节点的特征与优势
    • 最常用基本的开发组件
    • 大部分都具有具体的功能,如图片,音乐,模型,物理等
    • 可以有上下级的方式组合,一个节点可以有多个字节点
    • 可以通过拼接节点的方式来拼出游戏的内容
  2. 节点是在场景树与服务器的控制下运行的
    • 场景树是游戏的主循环对象,只有属于树的节点才可以正常行使节点的主要功能,而节点初始化时并不在树下
    • 服务器指的是Godot内置的Server,节点的主要功能都要使用Server实现,节点本身并不具备实际的功能,二者通过场景树进行协同沟通
    • 服务器的编码比较接近底层,保障了游戏运行的效率,节点的设计思路比较接近人类,加速了开发游戏的效率。场景树起到了协调两者的作用
  3. 节点的组织方式——场景
    • 场景是若干节点的集合,可以把节点分别放到多个场景里面
    • 场景文件是记录若干节点集合的文件
    • 游戏实际运行时不存在场景,场景是节点在文件系统中储存和加载的单位
    • 游戏从主场景开始运行
      ![[Pasted image 20240408200529.png]]
树状结构

节点树:组成一个场景
场景:就是一个节点树

场景基本操作

![[Pasted image 20240408193155.png]]

![[Pasted image 20240408193342.png]]

![[Pasted image 20240408193455.png]]

![[Pasted image 20240408193621.png]]

第一个三角形指的是运行项目的主场景
后面的运行指的是运行当前正在编辑的场景
这两个是不同的

  1. Godot的界面——围绕节点
    • 场景栏:可以增删场景内的节点,还可以为节点附加脚本
    • 文件系统:可以显示场景文件与游戏素材文件
    • 视图区:可以预览场景内的可视节点,编写代码与查看素材库
      • 2D:当在场景分栏中所选节点为2D类型时,会自动进入此工作区
      • 3D:当在场景分栏中所选节点为3D类型时,会自动进入此工作区
      • 脚本(Script):此工作区可以对当前项目中的脚本进行编辑
      • 资源库(AssetLib):可以搜索并浏览网站上的资源
    • 检查器:可以显示节点的属性,显示节点的信号连接,节点组情况与游戏素材文件属性
      ![[Pasted image 20240408194257.png]]
GDScript
  1. 介绍
    • 是Godot的原生语言,是最适合Godot开发的语言
    • 在入门阶段,只需要知道GDScript可以为节点拓展功能
  2. 与节点的关系
    • 节点有具体的功能,可以让游戏执行显示图片,视频,模拟物理体等功能
    • 游戏除了上述功能以外,还有内在的一套逻辑,如游戏的规则
    • GDS负责实现内在的逻辑,同时控制节点展示具体的功能。如角色生命值的增减和角色存活的判断
  3. GDS学习步骤
    • 了解掌握简单变量的定义与简单使用
    • 了解掌握函数的定义,参数,返回值的概念,认识常见函数
    • 了解掌握if和while的使用
    • 了解掌握数组与for的简单使用
项目窗口设置

![[Pasted image 20240408195333.png]]

可以设置游戏制作完成之后的分辨率和模式

调节分栏位置

![[Pasted image 20240408204929.png]]

在界面左上角

导入

![[Pasted image 20240408205026.png]]

显示导入的文件的信息

导入资源

直接将资源拖拽到Godot左下角的文件系统的目录中就可以

场景视图

x`

场景视图Scene ,在编辑器所看到的窗口,即场景编辑器窗口,默认地,创建了一个场景empty

  1. 可以通过鼠标滚轮来放大和缩小
  2. 鼠标中键可以拖拽来平移场景视图
  3. 网格,每个大网格包括8*8个小网格,每个小网格包含8个像素
  4. 场景视图中的蓝色框区域是可见的范围,对应的就是运行游戏的时候的游戏视图
游戏视图

游戏视图就是游戏实际运行的窗口,里面没有可编辑的东西
![[Pasted image 20240408210415.png]]

相关文章:

1.Godot引擎|场景|节点|GDS|介绍

Godot介绍 Godot是一款游戏引擎 可以通过在steam商城免费下载 初学者和编程基础稍差的推荐学习使用GDScript,和python有些相似 Godot节点 Godot的开发思想——围绕节点 节点的特征与优势 最常用基本的开发组件大部分都具有具体的功能,如图片&#xf…...

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.基本控件&#…...

蓝桥集训之三国游戏

蓝桥集训之三国游戏 核心思想&#xff1a;贪心 将每个事件的贡献值求出 降序排序从大到小求和为正是即可 #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知识整理 基础第一讲&#xff1a;基础架构&#xff1a;一条SQL查询语句是如何执行的&#xff1f;架构尽量减少长连接的原因和方案为什么尽量不要依赖查询缓存 索引第四讲&#xff1a;深入浅出索引&#xff08;上&#xff09;第五讲&#xff1a;深入浅出索引&#xff08;下…...

代码随想录算法训练营第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函数 将可复⽤的功能代码进⾏封装&#xff0c;类似与vue2混⼊。 三、ref&#xff1a;获取元素或者组件 let …...

三小时使用鸿蒙OS模仿羊了个羊,附源码

学习鸿蒙arkTS语言&#xff0c;决定直接通过实践的方式上手&#xff0c;而不是一点点进行观看视频再来实现。 结合羊了个羊的开发思路&#xff0c;准备好相应的卡片素材后进行开发。遇到了需要arkTS进行解决的问题&#xff0c;再去查看相应的文档。 首先需要准备卡片对应的图片…...

如何使用 ArcGIS Pro 制作热力图

热力图是一种用颜色表示数据密度的地图&#xff0c;通常用来显示空间分布数据的热度或密度&#xff0c;我们可以通过 ArcGIS Pro 来制作热力图&#xff0c;这里为大家介绍一下制作的方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的POI数…...

SpringBoot之集成Redis

SpringBoot之集成Redis 一、Redis集成简介二、集成步骤2.1 添加依赖2.2 添加配置2.3 项目中使用 三、工具类封装四、序列化 &#xff08;正常都需要自定义序列化&#xff09;五、分布式锁&#xff08;一&#xff09;RedisTemplate 去实现场景一&#xff1a;单体应用场景二&…...

mybatis-plus与mybatis同时使用别名问题

在整合mybatis和mybatis-plus的时候发现一个小坑&#xff0c;单独使用mybatis&#xff0c;配置别名如下&#xff1a; #配置映射文件中指定的实体类的别名 mybatis.type-aliases-packagecom.jk.entity XML映射文件如下&#xff1a; <update id"update" paramete…...

MySQL基础知识——MySQL日志

一条查询语句的执行过程一般是经过连接器、 分析器、 优化器、 执行器等功能模块&#xff0c; 最后到达存储引擎。 那么&#xff0c; 一条更新语句的执行流程又是怎样的呢&#xff1f; 下面我们从一个表的一条更新语句进行具体介绍&#xff1a; 假设这个表有一个主键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” 是一个权限拒绝的错误提示&#xff0c;意味着用户无法获得所请求资源的访问权限。出现 “Access denied” 错误的原因可以有多种可能性&#xff0c;包括以下几种常见原因&#xff1a; 错误的用户名或密码&#xff1a;输入的用户名或密码不正确&#xff0c;导…...

python语言之round(num, n)小数四舍五入

文章目录 python round(num, n)小数四舍五入python round(num, n)基础银行家舍入&#xff08;Bankers Rounding&#xff09;利息被银行四舍五入后&#xff0c;你到底是赚了还是亏了&#xff1f; python小数位的使用decimal模块四舍五入(解决round 遇5不进) python round(num, n…...

安全风险攻击面管理如何提升企业网络弹性?

从研究人员近些年的调查结果来看&#xff0c;威胁攻击者目前非常善于识别和利用最具有成本效益的网络入侵方法&#xff0c;这就凸显出了企业实施资产识别并了解其资产与整个资产相关的安全态势的迫切需要。 目前来看&#xff0c;为了在如此复杂的网络环境中受到最小程度上的网络…...

常用的几款性能测试软件

Apache JMeter是一款免费、开源的性能测试工具&#xff0c;广泛应用于Web应用程序和服务的性能测试。它支持模拟多种不同类型的负载&#xff0c;可以测试应用程序在不同压力下的性能表现&#xff0c;并提供丰富的图表和报告来分析测试结果。 优点&#xff1a; 免费且开源&…...

谷歌google浏览器无法更新Chrome至最新版本怎么办?浏览器Chrome无法更新至最新版本

打开谷歌google浏览器提示&#xff1a;无法更新Chrome&#xff0c;Chrome无法更新至最新版本&#xff0c;因此您未能获得最新的功能和安全修复程序。点击「重新安装Chrome」后无法访问此网站&#xff0c;造成谷歌浏览器每天提示却无法更新Chrome至最新版本。 谷歌google浏览器无…...

认识异常(1)

❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…...

C++矩阵

C矩阵【基本】&#xff08;will循环&#xff09; #include<iostream> #include<string.h> using namespace std; int main() {int a[100][100]{0};int k 1;int i 0;int j 0;while(k<100){if(j>10){j0;i;}a[i][j]k;j;k;}i 0;j 0;while(true){if(i 9&am…...

解锁智能未来:用Ollama开启你的本地AI之旅

Ollama是一个用于在本地运行大型语言模型&#xff08;LLM&#xff09;的开源框架。它旨在简化在Docker容器中部署LLM的过程&#xff0c;使得管理和运行这些模型变得更加容易。Ollama提供了类似OpenAI的API接口和聊天界面&#xff0c;可以非常方便地部署最新版本的GPT模型并通过…...

CSS实现卡片在鼠标悬停时突出效果

在CSS中&#xff0c;实现卡片在鼠标悬停时突出&#xff0c;通常使用:hover伪类选择器。 :hover伪类选择器用于指定当鼠标指针悬停在某个元素上时&#xff0c;该元素的状态变化。通过:hover选择器&#xff0c;你可以定义鼠标悬停在元素上时元素的样式&#xff0c;比如改变颜色、…...

GPT建模与预测实战

代码链接见文末 效果图&#xff1a; 1.数据样本生成方法 训练配置参数&#xff1a; --epochs 40 --batch_size 8 --device 0 --train_path data/train.pkl 其中train.pkl是处理后的文件 因此&#xff0c;我们首先需要执行preprocess.py进行预处理操作&#xff0c;配置参数…...

传统方法(OpenCV)_车道线识别

一、思路 基于OpenCV的库&#xff1a;对视频中的车道线进行识别 1、视频处理&#xff1a;视频读取 2、图像转换&#xff1a;图像转换为灰度图 3、噪声去除&#xff1a;高斯模糊对图像进行去噪&#xff0c;提高边缘检测的准确性 4、边缘检测&#xff1a;Canny算法进行边缘检测…...

Git以及Gitlab的快速使用文档

优质博文&#xff1a;IT-BLOG-CN 安装git 【1】Windows为例&#xff0c;去百度下载安装包。或者去官网下载。安装过秳返里略过&#xff0c;一直下一步即可。丌要忉记设置环境发量。 【2】打开cmd&#xff0c;输入git –version正确输出版本后则git安装成功。 配置ssh Git和s…...

四川通信建设工程有限公司网站/百度的广告推广需要多少费用

今天做了一个图表页面&#xff0c;效果图如下&#xff1a; 上图红框中的部分&#xff0c;是指的table表格中&#xff0c;鼠标移入某行后&#xff0c;出现的背景颜色。默认的背景颜色是一种灰色。 鼠标移入后的行背景颜色修改 通过css即可实现&#xff1a; .el-table--enabl…...

做网站 报价/百度推广首页

关于绘图颜色1R语言绘图之 颜色 grDevice 包- colorRamp() 和 colorRampPalette()- 颜色名字可使用 colors() 获取 RColorBrewer 包- 三类调色板&#xff1a;sequential&#xff1a;从一个极端渐变到另一个极端&#xff0c;适合用于呈现顺序数据2. diverging&#xff1a;两端鲜…...

东阿网站建设费用/个人网站设计

一到晚上这个网慢的呀&#xff0c;我和加载页面一样在原地直打转&#xff01;不能忍。所以我打算用网线连接提网速。 先分别测试了一下笔记本电脑连WIFI&#xff0c;直连路由器&#xff0c;和直连光猫的网速差距&#xff0c;不测不知道一侧吓一跳&#xff0c;所以我决定从光猫…...

商城网站建设哪家好/优化网络推广外包

linux中通过date命令获取昨天或明天时间的方法date命令可以获取当前的时间&#xff0c;通过man&#xff0c;可以看到date有很多参数可以用&#xff0c;很容易做到格式化date "%F"输出格式&#xff1a;2011-12-31 date "%F %H:%M:%S"输出格式&#xff1a;20…...

网站开发学习课程/成都seo顾问

为什么80%的码农都做不了架构师&#xff1f;>>> 由于本从精力有限&#xff0c;如果内容有更新可能无法及时更新其他渠道的内容&#xff0c;请移步简书 查看文章 由于之前公司项目一直迭代速度很快&#xff0c;几乎隔几天就需要发布测试包给同事们进行测试&#xff…...

网站制作教程一般地建网络/百度账号管理中心

2019独角兽企业重金招聘Python工程师标准>>> FileAudit允许用户从审计访问事件中排除掉某些特定事件&#xff0c;用户可以把对于自身来说不敏感的文件审计访问事件设定在这些派出范围之类&#xff0c;这样一来就FileAudit就会自动过滤掉这些不明感时间&#xff0c;以…...