godot4.2专题

【Godot4.2】自定义Todo清单类 - myTodoList

概述 在写myList类的时候,就想到可以写一个类似的Todo清单类。 基础思路 本质还是在内部维护一个数组,在其基础上进行增删改查操作的封装为了方便存储数据,编写一个自定义内置类TodoItem,内部数组就变成了Array[TodoItem]类型的类型化数组。在这个数组基础上编写各种方法。 基于本文所写的这个类实际上已经可以写简单的清单应用了。当然为了能用于打印输出,所以我也设定了以纯字

【Godot4.2】CanvasItem绘图函数全解析 - 7.自定义节点TextBoard

概述 之前发布的几篇文章几乎阐述了CanvasItem绘图函数最基础的内容。 本篇结合draw_style_box()和TextParagraph类,自定义了一个可以自适应宽高显示多行文本,且带有一个样式盒作为背景的文字板节点TextBoard。 系列目录 0.概述1.绘制简单图形2.设定绘图变换3.绘制纹理4.绘制样式盒5.绘制字符和字符串6.TextLine和TextParagraph详

【Godot4.2】基础知识 - Godot中的2D向量

概述 在Godot中,乃至一切游戏编程中,你应该都躲不开向量。这是每一个初学者都应该知道和掌握的内容,否则你将很难理解和实现某些其实原理非常简单的东西。 估计很多刚入坑Godot的小伙伴和我一样,不一定是计算机专业或编程相关专业从业人员。英语、数学、算法、设计模式以及Shader方面都是拦路虎。尤其数学,当初稀里糊涂,现在也早还给老师了。我本人就是个数学学渣,所以也是一路学引擎,一路补课数学、

【Godot4.2】Rect2拓展——mRect2类

概述 Rect2存在一些问题,比如难以获取除position、end和center之外的其他点。虽然计算并不复杂,就是简单的向量加减。但每次手动计算则比较麻烦。 其实在ShapePoints静态函数库中,已经尝试返回矩形的四个顶点,用于绘制矩形。 # 返回矩形的顶点# 注意:以(0,0)为几何中心static func rect(size:Vector2) -> PackedVector2

【Godot4.2】2D导航02 - AstarGrid2D及其使用方法

概述 AstarGrid2D是Godot4.0新增的A*寻路辅助类型。可以看做是Astar2D的加强版。它允许你通过设置其size和cell_size属性来创建一个虚拟的网格。 并使用set_point_solid()这样的方法来在指定位置创建障碍物。 AstarGrid2D的好处是你不再需要手动的添加点以及点与点之间的连接,而是直接用get_point_path()这样的方法来获取最短路径

【Godot4.2】 基于SurfaceTool的3D网格生成与体素网格探索

概述 说明:本文基础内容写于2023年6月,由三五篇文章汇总而成,因为当时写的比较潦草,过去时间也比较久了,我自己都得重新阅读和理解一番,才能知道自己说了什么,才有可能重新优化整理。 因为我对体素网格的原始算法并不精通,当时只是依靠自己的直觉以及Godot4.2提供的工具类来实现了自己的一套Godot体素网格生成算法。 你也可以把本文当做这些工具类的实例教程进来看。因此体素不体素的你也可

【Godot4.2】2D导航03 - NavigationRegion2D及其使用方法

概述 Godot4.0改进了2D部分的导航,NavigationRegion2D基本可以看做是3.X的Navigation2D的进化版本。 它的基本用法就是先绘制navigation_polygon,也就是导航网格,或者直白点就是“可通行区域”。然后将带有碰撞形状和NavigationAgent2D子节点的玩家放置到这个可通行区域,然后在_physics_process中判断并移动就可以了。

【Godot4.2】2D导航01 - AStar2D及其使用方法

概述 对于2D平台跳跃或飞机大战,以及一些直接用键盘方向键操控玩家的游戏,是根本用不到寻路的,因为只需要检测碰撞就可以了。 但是对于像RTS或战棋这样需要操控玩家到地图指定位置的移动方式,就绝对绕不开寻路了。 导航、碰撞与寻路 在Godot中导航(navigation)可以被理解为是可通行区域。 而碰撞(collision)是体积,指代障碍物,提示“不可通行”。 所以可以把导航和碰撞看做是反

【Godot4.2】2D导航04 - TileMap导航的逻辑

基于NavigationRegion2D 我们基于NavigationRegion2D的逻辑一文的场景结构,但是将NavigationRegion2D删除,更改为TileMap节点。 为TileMap创建Tileset,并创建一个导航层。在TileSet面板中,为草地和黄色泥土地面图块绘制可通行区域(整个矩形)。这样做的含义是只有这连个图块允许通行,其余图块全是障碍物。 切换至TileMap

【Godot4.2】基于MenuBar和PopupMenu的菜单栏生成自定义数据EMBD及其解析

概述 用Godot的MenuBar和PopupMenu手动创建有复杂结构和设置选项的菜单栏总是一件繁琐的事情,用代码形式也无法十分优雅。 更好的方式就是选择用数据形式解析和加载,这样我们只需要专注于修改数据,就可以修改实际生成的节点嵌套结构。 【2024年3月1日00:50:59】目前只是一个未经实际代码验证的基础思路,所以后续可能会改进或推翻。这与Tree控件自定义树形数据ETD有一定

【Godot4.2】按钮控件全解析

概述 Godot虽然有内置文档和在线文档,但是对于特定控件的讲解资料是很少的。因此对于使用者可能会造成一定困扰。笔者(Bilibili@巽星石)一直想实现一个Godot控件的详细教程,为了实现这个目的,我会开始一系列的文章来进行总结,并不断地修改,以便于读者食用。 Button Button是最基础的按钮控件,也是日常最常用的按钮类型。其继承和派生关系如下图: 在“检视器”面板你可以看

Godot4.2——爬虫小游戏简单制作

目录 一、项目 二、项目功能 怪物 人物 快捷键 分数 游戏说明 提示信息 三、学习视频 UI制作 游戏教程 四、总结 一、项目 视频演示:Godot4爬虫小游戏简单制作_哔哩哔哩bilibili 游戏教程:【小猫godot4入门教程 C#版 已完结】官方入门案例 第12期:音频和期末作业_哔哩哔哩_bilibili 很感谢小猫up(*^▽^*) 游