- 博客(167)
- 收藏
- 关注
原创 【网页】自制流光卡片
小红书有个博主自己搞的笔记排版工具叫“流光卡片”,类似的还有个Markdown排版工具叫MD2Card。我这个版本类似,但是自己写的东西,控制性更好。初期就写了个静态页面,后期结合Godot快速生成,并可能结合JS库(例如html2canvas)实现生成页面转图片以及批量下载。
2025-03-17 20:34:53
244
原创 【网页】CSS原子化+变量尝试
最近想做一个卡片形式的网页工具,可以生成好看的小红书笔记,不喜欢用前端别人写的东西,尝试了一下CSS原子化,确实能用比较少的代码完成很好的功能。结合一些现成的工具,可以很简单的扩展样式。
2025-03-17 20:33:41
433
原创 【Godot4.0】贝塞尔曲线在游戏中的实际应用
之前研究贝塞尔曲线绘制,完全是以绘图函数,以及实现节点连接为思考。并没有实际考虑贝塞尔曲线在游戏中的应用。今日偶然看到悦千简一年多前发的一个用贝塞尔曲线实现追踪弹或箭矢效果,还有玩物不丧志的老李杀戮尖塔系列中的卡牌动态箭头。想起来确实很需要实现和总结动态贝塞尔曲线。可以用在简单的弹道轨迹和卡牌或战旗攻击箭头的生成。可以封装成几个类,无限复用。
2025-03-13 00:30:06
343
原创 【Godot4.3】多个多边形求并集函数
多边形求并集是一个非常有用和常见的操作,Geometry2D的方法只能一次求两个多边形的并集。而我想要的一个支持从1个到任意多个多边形的并集求解函数。
2025-03-13 00:24:08
185
原创 【Godot4.3】RenderingServer总结
是Godot中“服务器”(*Server)单例中负责渲染的“服务器”。这里的“服务器”并不是网络服务器,而可以理解为底层服务或底层API的集合。使用可以完全绕过场景和节点系统。如果场景系统是瓶颈所在,那么这样做就可以提升性能,否则无法提升性能。因此对学习可以理解为对Godot底层渲染API的学习,学习的目的是绕过场景和节点系统进行渲染优化。截止到Godot4.3,是一个拥有将近500个(我自己数的是495个)方法的庞大单例。
2025-03-13 00:18:47
348
原创 【Godot4.0】EasyClock时钟组件
一个纯粹基于_draw简易参数化时钟组件。可以自由缩放,目前支持各种颜色、字体、字号修改以及开启或关闭绘制数字、刻度。基于_process刷新有点浪费,后期可能基于Timer进行修改。
2025-03-13 00:11:14
404
原创 【Godot4.2】myCanvas静态函数库
(去年4月的文章)在Godot中讲解几何与数学部分时,Godot本身提供的绘图函数可以拿来绘制示意图。而在实际使用中,我根据自己的绘图需要编写了一个名叫myCanvas的静态函数库,最早是在2024年3月27日开始编写,目前为止仍在不断的扩充和完备当中。通过它,你可以比较轻松的绘制带箭头的线段,也就是向量,以及做一些点和角度的标记等。
2025-03-12 23:59:08
237
原创 【Godot4.3】Geometry2D总结
【Godot4.2】2D辅助类Geometry2D入门本文是去年9月份新总结的。Godot提供了一个名叫Geometry2D的类,它提供了一些用于2D几何图形(包括Polygon、PolyLine等)相关的函数,可以实现诸如多边形与多边形或多边形与折线的布尔运算等。本篇就是简单研究和总结这部分内容的一个简要笔记。Geometry2D的布尔运算方法名起的优点随意,反倒是代表布尔运算的枚举常量更符合原意,所以简单封装一个函数,代表多边形的布尔运算,并用枚举常量值,来进行运算的区分,根据运算类型调用不同的方法。
2025-03-12 23:42:21
639
原创 【Godot4.3】用折线切割多边形
Geometry2D并没有提供直接的多边形切割函数,但是基于折线与多边形求交集、多边形与多边形求交集、差集,我们就可以实现切割的求解。
2025-03-12 23:26:43
425
原创 【Web】HTML5 Canvas 2D绘图的封装
(原文写自2024年10月9日,整理笔记所以现在发出)HTML5 Canvas并不是一项很新的技术了,但是作为一名业余程序员,我是不需要考虑新旧技术和投入实际生产的问题,相反,我只需要考虑有趣,什么有趣搞什么。在Godot中玩味了一圈CanvasItem的绘图函数,也慢慢补齐了一点三角函数、向量和线性变换的基础之后,发现绘图才是程序中最有意思的内容。关于Canvas的2D绘图指令,确实没有必要重复讲述,有很好的文章和在线文档讲述这些内容。
2025-03-12 22:59:22
1235
原创 【Godot4.4】浅尝Godot中的MVC
基于一个Unity的视频。学习了一下基本的MVC概念,并尝试在Godot中实现了一下。原始的MVC:Godot中的MVC:Model、View和Controller各自应该实现的功能如下:属性(数据字段)数据存取方法数据更新信号控件节点引用UI更新方法界面元素信号处理,比如按钮点击等调用View的界面更新方法Controller //UI界面根节点,空的Control节点Model //空的Control节点View //容器或Control节点其他界面元素在。
2025-03-09 22:15:44
716
原创 【Godot4.4】Rect2总结
Rect2是2D场景中比较重要的一种数据类型。Rect2的本质含义是2D场景的轴对齐包围盒,而不是可以自由变换的矩形。Rect2提供了一些方法,可以方便的判断Rect2之间是否重叠、包含等,并可以获得重叠的区域。也可以获得两个Rect2的包围盒。结合绘图函数,在区域填色、鼠标框选、布局以及某些交互逻辑方面有很多的应用。
2025-03-09 16:36:01
176
原创 【godot4.4】布局函数库Layouts
为了方便编写一些自定义容器和控件、节点时方便元素布局,所以编写了一套布局的求取函数,统一放置在一个名为Layouts的静态函数库中。本文介绍我自定义的一些布局计算和实现以及函数编写的思路,并提供完整的函数库代码(持续更行)。因为正在编写中,所以可能有部分布局还未实现或正在经历修改。
2025-03-08 20:37:36
569
原创 【Godot4.4】布局函数及自定义容器概述
在Godot中界面布局的任务是交给Container(容器)来完成的。容器本质上是一种特殊的控件,它的作用就是以一定的规则排列其子元素。常见的诸如等。Godot允许自定义容器,来实现自己的布局规则。@toolset(val):# 通知处理# 重排子元素的代码fit_child_in_rect(子节点,Rect2)@tool:一般容器都是要在编辑器中实时生效的,所以需要开启“工具脚本”模式继承自Container:自定义容器当然要继承子容器的基类Container通知处理:在处理通知。
2025-03-08 14:49:12
320
原创 【Godot4.4】专用类网页布局容器
在之前的文章中提到过使用和等嵌套实现类似网页的布局效果。文末也提到,其实可以通过自定义容器来简化这一操作。
2025-03-08 13:54:10
179
原创 【Godot4.4】模拟类似网页的布局
最近瞎搞一些布局的事情,其中需要实现类似网页的布局,也就是水平居中,且中间内容区域固定宽度的形式。最终通过容器的嵌套,实现了效果,想着记录一下思路。Godot的容器就是为了UI布局存在的,很强大,但是对于某些特殊布局还是有些设置繁琐和力不从心。另外Godot不支持WebBrowser,无法内嵌网页。有时候又需要类似网页的显示和布局,所以只能自己搞。此文所述的容器嵌套版本只是记录一下思路,后续会创建自定义容器简化和特化类网页排版的需求,敬请期待。
2025-03-04 22:24:47
451
原创 【Godot4.3】应用程序开发的一些小技巧
Godot默认导出,无法修改应用图标。也是在群友提醒下,获得了正确的设置,rcedit需要自己下载,并保存到固定位置后为Godot进行指定。
2025-03-01 23:36:05
245
原创 【Godot4.3】自定义简易菜单栏节点ETDMenuBar
Godot中的菜单创建是一个复杂的灾难性工作,往往无从下手,我也是不止一次尝试简化菜单的创建。从自己去年的发明“简易树形数据”用于简化Tree控件获得灵感,于是尝试编写了用于表示菜单数据的类,以及对应的纯文本数据格式和对应的MenuBar控件扩展ETDMenuBar。于是乎,你只需要在创建菜单栏时,添加一个ETDMenuBar控件,并为其data属性指定符合规定的简易数据,以及图标集。便可以轻松设计和获得复杂层次的菜单,以用于你创建的Godot桌面程序。其实对应的是单个PopupMenu。
2025-03-01 22:58:12
727
原创 【Godot4.3】静态模板字符串函数库
Godot的静态函数从3.4版本一直用到现在的4.3,也曾经编写过不少的静态函数库。但是一直没怎么用过静态变量。这几天有心重新开发一下静态网页生成器。需要编写一些类,还有保存HTML页面或局部的模板字符串以及生成函数。静态变量就刚好用上了。这里只做可能性展示,你也可以在自己的程序或项目中使用类似的思路。这只是一个基础演示,后续会在实际编写中总结新的经验。
2025-02-24 22:24:41
377
原创 【Godot4.3】自定义圆角容器
Godot控件想要完全实现现代UI风格,需要进行大量的自定义组件设计。本篇就依托于笔者自己对现代UI设计中的圆角面板元素模仿来制作圆角容器组件。
2025-02-24 21:57:35
532
原创 【Godot4.3】基于绘图函数的矢量蒙版效果与UV换算
将圆角矩形的每个顶点坐标除以对应圆角矩形所在Rect2的size,就得到了顶点对应的UV坐标。然后使用,便可以做到用图片填充圆角矩形的效果。而且这种计算的效果就是图片随着其填充的图像缩放。这就类似于是在CanvasItem的绘图函数基础上实现了矢量蒙版效果。
2025-02-24 21:47:35
533
原创 【Godot4.3】题目与答案解析合并器
笔者本人医学专业从业人员,编程只是业余爱好。有时候不太喜欢纸质题库的排版,比如题目与答案分开,甚至是分开在两本书上。想要翻录下来,转存到笔记软件中,作为自己积累的一个题库,而且方便随时查看、修改和扩充笔记。这项工作,我从2024年头就开始实践,并且已经积累了一定的题目量。作为专业学习和考试的专用复习资料。至此,意为着利用纯文本形式的题目和答案字符串,快速合并获得适用于语雀显示的格式将变得异常方便同时,可以以非常简便的方式创建刷题系统。只需要维护和保存一堆.txt文件即可。
2025-02-24 21:29:37
702
原创 【Godot4.3】导航树控件FlatETDTree
今天(2月21日)在修改自己编写的Godot应用“万用修改器”侧边的ETDTree控件样式过程中,发现可以实现类似网页导航栏的效果。于是一不做二不休,在原来的ETDTree控件基础上,编写了新的类,用于一劳永逸的实现类似的效果。
2025-02-24 21:02:11
257
原创 【CSS】HTML元素布局基础总结
内部表现定义其内部子元素的显示和布局。属性,使元素脱离原始的文档流浮动布局。文本和内联元素可以环绕浮动元素。默认按容器最多能容纳的最小宽度。内容:所有被排列元素组成的区域。并且如果元素宽度大于最小宽度。时,会减少元素个数,换行排列。:指定垂直方向元素的对齐方式。:指定水平方向元素的对齐方式。随页面宽度变化动态排列元素。:内部元素类似表格形式布局。外部表现定义元素自身的显示。:相对定位,相对父元素定位。可以指定固定宽度或浮动宽度。容器:包裹被排列元素的元素。元素:就是容器的直接子元素。
2025-02-24 20:19:13
737
原创 【Godot4.3】自定义StyleBox
借鉴B站UP主JACKADUX去年8月份的Godot 进阶技法 | 创建自定义的 StyleBox 资源类型中的案例源码,加上自己的简单发挥,搞定了自定义StyleBox。这意味着可以很大程度上不再受限于Godot自己提供的4种StyleBox的限制,尤其是,而StyleBox则是自定义容器和控件样式必备的,也就意味着在UI界面设计上将有更多的可能。StyleBox样式盒基类可以用于:Button、LineEdit、CodeEdit、Tree控件等的背景样式设定分为:空样式盒。
2025-02-16 20:21:45
1018
原创 【Godot4.3】EasyTreeData新版本
是笔者基于Godot4.X编写的一个树形数据生成和转化类。具体可参看【Godot4.2】EasyTreeData通用解析一文最近基于编写了一个Latex总结笔记生成器,用于更便捷的生成复杂的总结笔记内容因此对原来的类进行了一些改进,这里贴出新的代码,以及展示下生成的Latex笔记和PlantUML思维导图的效果SD总结程序WebUI基于Python和网页界面的交互形式新手入门体验ComfyUI基于节点的工作流形式自动化秋叶整合包5−6。
2025-02-08 20:49:18
710
原创 【Blender Python】7.一些运算、三角函数以及随机
要用Blender进行程序生成,数学计算是少不了的,Python支持一些常规的表达式计算,而另外一些相关的数学函数则在math模块中。本节内容,介绍了一些基础运算的细节,以及引入程序生成必备的三角函数和随机。不详之处后改后补。
2024-10-07 00:29:17
1537
原创 【Blender Python】6.修改物体模式
Blender对象共有6种编辑模式,物体模式、编辑模式、雕刻模式、顶点绘制、权重绘制和纹理绘制。在Blender Python中通过的mode_set()方法可以修改物体的编辑模式。只需要传入相应的mode参数就行了。不详之处后补。
2024-10-06 23:26:08
611
原创 【Blender Python】5.Blender场景中的集合
这里的“集合”是指Blender场景中的集合。你可以在“大纲视图”面板中看到图标的,就是集合,可以看做是文件夹,用于分类和整理场景中的对象。本节介绍Blender中的集合,以及在Blender Python中的获取以及创建。内容不详之处,后续改进。
2024-10-06 22:57:14
868
原创 【Blender Python】4.获取场景对象的几种方式
有时候我们需要获取场景中已经添加或存在的对象。本节就总结在Blender Python中获取场景中对象的一些方法。本节主要总结在Blender Python中获取场景中对象的一些方法,以及使用C和D指代和bpy.data。
2024-10-06 22:42:22
800
原创 【Blender Python】3.使用For循环和列表批量创建立方体
本篇上接第一篇,继续总结Blender Python的使用细节。更进一步,如果我们需要在不同层次的For循环中使用不同的遍历次数,那么就需要定义三个变量。但是更好的办法是直接定义一个函数,用参数来作为变量,执行相同的代码。import bpy# 创建立方体阵列# 调用函数,传入具体的参数函数可以看做是一段能够重复使用的代码段,在几乎所有的现代编程语言中都是代码复用思维的第一个层级。本节主要讲解for...in循环遍历列表,并实现简单的批量重命名功能。
2024-10-06 21:57:39
1359
原创 【Blender Python】2.结合Kimi生成
结合Kimi这样的AI工具可以生成Blender Python代码,用来辅助生成一些或简单或复杂的图形。当然,出不出错这就不一定了。因为AI所训练的版本可能并不是Blender的最新版本,类似的问题也出现在Godot上。就像上面所说的,这可能与Blender的版本有关系,我使用的是4.2.2 LTS版本。而Kimi训练的版本可能是之前的。API的差异导致出现一些错误,当然也不能排除AI出现“智障”的情形。
2024-10-06 20:49:48
583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人