
Godot4.x 自定义控件
文章平均质量分 70
收集和发布Godot4.x 自定义控件
巽星石
业余编程爱好者,Godot游戏引擎爱好者
展开
-
【Godot4.4】专用类网页布局容器
在之前的文章中提到过使用和等嵌套实现类似网页的布局效果。文末也提到,其实可以通过自定义容器来简化这一操作。原创 2025-03-08 13:54:10 · 243 阅读 · 0 评论 -
【Godot4.3】自定义简易菜单栏节点ETDMenuBar
Godot中的菜单创建是一个复杂的灾难性工作,往往无从下手,我也是不止一次尝试简化菜单的创建。从自己去年的发明“简易树形数据”用于简化Tree控件获得灵感,于是尝试编写了用于表示菜单数据的类,以及对应的纯文本数据格式和对应的MenuBar控件扩展ETDMenuBar。于是乎,你只需要在创建菜单栏时,添加一个ETDMenuBar控件,并为其data属性指定符合规定的简易数据,以及图标集。便可以轻松设计和获得复杂层次的菜单,以用于你创建的Godot桌面程序。其实对应的是单个PopupMenu。原创 2025-03-01 22:58:12 · 792 阅读 · 0 评论 -
【Godot4.3】自定义圆角容器
Godot控件想要完全实现现代UI风格,需要进行大量的自定义组件设计。本篇就依托于笔者自己对现代UI设计中的圆角面板元素模仿来制作圆角容器组件。原创 2025-02-24 21:57:35 · 647 阅读 · 0 评论 -
【Godot4.3】导航树控件FlatETDTree
今天(2月21日)在修改自己编写的Godot应用“万用修改器”侧边的ETDTree控件样式过程中,发现可以实现类似网页导航栏的效果。于是一不做二不休,在原来的ETDTree控件基础上,编写了新的类,用于一劳永逸的实现类似的效果。原创 2025-02-24 21:02:11 · 287 阅读 · 0 评论 -
【Godot4.3】基于EasyTreeData解析的扩展Tree控件 - ETDTree
基于解析的扩展Tree控件。原创 2024-09-20 00:11:04 · 371 阅读 · 0 评论 -
【Godot4.3】基于纯绘图函数自定义的线框图控件
同样是来自2023年7月份的一项实验性工作,基于纯绘图函数扩展的一套线框图控件。初期只实现了三个组件,矩形、占位框和垂直滚动条。本文中的三个控件类已经经过了继承化的修改,使得代码更少。这也是一项很随意的试验性工作,初期并没有采用类的继承,所以参数有很多重复代码,经过改进之后,代码量下降,而且可以很好的进行拓展。你可能会问在Godot这么简单的软件中还需要线框图嘛,直接干不就行了。但其实线框图作为一个设计阶段的工具对整体策划和把握还是有一定作用的。尤其是对UI界面设计。原创 2024-09-02 23:14:52 · 736 阅读 · 0 评论 -
【Godot4.1】自定义纯绘图函数版进度条控件——RectProgress
一个纯粹基于CanvasItem绘图函数,重叠绘制矩形思路实现的简单进度条控件。2023年7月编写。之所以将它作为单独的示例发出来,是因为它代表了一种可能性,就是不基于Godot内置的控件,而是完全用绘图函数或其他底层API形式来创建自定义控件的可能性。这只是一个简单的自定义进度条控件,完全依赖于CanvasItem绘图函数实现。目前版本只定义了简单的属性和参数,可以基于此进行进一步的改进。在自定义控件方面,多了一种思路。原创 2024-09-02 16:51:08 · 624 阅读 · 0 评论 -
【Godot4.2】简单调色板生成
Godot内部提供了和两个颜色选择控件,也提供了和,来实现参数化的渐变图片。但是有时候我们可能需要用Godot自己编写一些绘图程序,可能和就显得比较Low了,我们可能想自己实现调色板或者色环之类的。本篇旨在阐述如何用简单的GDScript代码形式生成调色板,通过控件来呈现,并进取色交互。通过上面探讨的基础,我们已经可以实现自己的颜色选择器功能,为了让代码清晰,我封装了ColorsBar和HSBRect两个自定义控件。原创 2024-03-10 20:17:45 · 1798 阅读 · 0 评论 -
【Godot4.2】控件节点生成与布局函数库Ctl
本文依旧来自笔者的语雀知识库。基础内容写于2023年8月份。当时写的比较随意,本篇将在其基础上扩充和修改。Godot本身提供了丰富的控件和容器来实现UI布局,但是这个过程往往需要复杂的手动操作和配置,使用代码生成方式时也会需要一大堆代码来创建控件、容器实例,并设置相关的属性。尤其是在编写自定义控件时,不依赖场景文件.tscn,一个.gd文件就是一个自定义控件的全部,所有的节点结构都需要用代码生成。简单的自定义控件:只是扩展自Godot的内置控件或容器类型,或者只涉及一些简单的动态生成。复杂的自定义控件。原创 2024-03-03 11:45:48 · 1419 阅读 · 0 评论 -
【Godot4.2】Tree控件自定义树形数据ETD及其解析
在Godot中利用MenuBarPopupMenu设计复杂菜单,以及利用Tree控件创建复杂的树形导航,都是一件繁复的工作。通过某种数据形式,以及一个解析函数,自动加载生成菜单或Tree的树形列表,便成为了自然而然的选择。我首先想到的是字典和JSON,两者其实类似,都是键值对形式,存在很多重复冗余的键定义。所以我想自创一种树形数据表示形式。可以很好的表示树形结构基于纯文本,依靠字符串解析可以轻松获取数据语法简洁,便于手动书写和更改,更易于阅读。原创 2024-03-01 00:34:25 · 1519 阅读 · 0 评论 -
【Godot4.2】按钮生成函数库buttonDB
前面文章总结了Godot4.2中的按钮类控件。当然那只是开胃菜,基于按钮控件相关的基础知识总结出一个按钮生成函数库,并在函数库基础上创建工具栏(自定义控件)才是我的最终目标。原创 2024-02-27 22:24:29 · 251 阅读 · 0 评论 -
【Godot4.2】菜单栏生成函数库menuDB
关于Godot的手动菜单栏制作,我已经在之前的文章中有所描述。但是对于一些场景,手动制作菜单仍然是一个比较低效的做法。所以我将MenuBar以及基于MenuButton创建菜单栏写成了一个静态函数库。利用此函数库我们可以用函数形式构造PopupMenu和MenuButtonMenuBar以及基于MenuButton创建的菜单栏。:存储定义单个MenuBar所需的数据MenuData:存储定义单个菜单所需的数据:存储单个菜单项所需的数据当然我的本意是基于这个函数库构建更简单的菜单栏自定义控件。原创 2024-02-27 22:18:11 · 569 阅读 · 0 评论 -
Godot4.2】文件系统自定义控件 - DirListView
本篇仍然是基于Godot4.2的文件系统相关自定义控件系列,DirListView扩展自ItemList控件,可以显示指定文件夹中的子文件夹和子文件内容。运行后,可以选中相应的项,进行单击或双击等。DirListView并没有过分的设计这部分的功能,但使用者只需要连接和处理ItemList原本就有的信号,就可以实现诸如双击文件夹进入下一级这样的功能。原创 2024-02-08 15:30:49 · 708 阅读 · 0 评论 -
【Godot4.2】文件系统自定义控件 - GroupButtons
读者朋友们好,我是巽星石,这是我的Godot4.2文件系统自定义控件系列文章。在很多程序或插件设计中,都会用到一堆按钮的形式,好处是比较直观,用啥点啥,本质上相当于一个简化的二级树形导航结构。这种结构我在自己编写的Godot插件myAdd中使用过,这次是基于Godot4.2重新编写,并通过解析自定义数据形式简化使用的版本。原创 2024-02-08 13:38:31 · 912 阅读 · 0 评论 -
【Godot4.2】文件系统自定义控件 - FileSystemTree
在Godot设计编辑器插件或应用程序时,可能需要涉及文件系统的显示,比如文件夹或文件的树形列表。我们可以用Godot的Tree控件快速书写相应的功能,但是为了复用到不同的项目,最好是设计为自定义节点。FileSystemTree就是一个专门显示文件夹结构的树控件,扩展自Godot的Tree控件。基于Godot4.2版本实现。原创 2024-02-07 23:35:21 · 1029 阅读 · 0 评论