- 博客(36)
- 收藏
- 关注
原创 unity 使用PropertyDrawer 在Inspector 面板上自定义字段的显示方式
使用PropertyAttribute自定义特性,然后使用PropertyDrawer特性为其创造在Inspector 面板上的GUI,从而实现自定义Inspector 面板显示的效果。
2025-07-29 14:30:02
239
原创 unityUI实现虚拟摇杆
这个方案的最大的优点是简单方便,但存在不少问题,比如想要拨动摇杆时必须要使用拖动的方式去拖动摇杆,而不能通过点击摇杆区域去拨动摇杆。目前已知的有两种方法实现,一种是通过继承ScrollRect类来实现一个摇杆的功能。而下面的方案至少能解决不能通过点击摇杆区域去操作的问题。对于这个方案可以参考这篇文章。
2025-05-07 21:21:08
309
原创 关于unity中的UI点击事件的回调
OnBeginDrag(PointerEventData eventData),当鼠标按下并开始拖动时的第一帧会触发的回调,后续会持续触发IDragHandler的回调。继承MonoBehaviour的脚本通过实现这些接口可实现各种的UI效果,如按钮,拖拽UI的功能,这里只列出了部分的回调事件,更多的可以参考这些文章。OnEndDrag(PointerEventData eventData),当鼠标结束拖动松开鼠标的第一帧会触发的回调。按下鼠标后,抬起鼠标时会触发的回调。按下鼠标时触发的回调。
2025-05-06 17:50:17
327
原创 使用二进制保存游戏数据BinaryFormatter
这个例子是使用的序列化器是BinaryFormatter效率会比较低建议使用messagepack。
2024-08-31 13:42:29
265
原创 unity子弹飞行速度过快导致碰撞体穿透的解决方案
解决方法大致描述就是在子弹飞行的每一帧时记录当前位置,下一帧时从上一帧的位置向当前的子弹位置发射一条射线,来检测是否有命中物体。
2024-08-08 19:24:29
687
原创 在unity2d中实现基于刚体与射线碰撞生成视野
在任意两根之间会存在墙壁的射线之间会通过类似于二分法的方式做进一步的检测以提高精度,而对于这个视野的检测方法在运行效率上会有比较大的问题,效果其实也不算好,虽然在网上我还看到有其他的检测方案但那些方法我认为它们无法与Tilemap进行交互,因此我使用了这个方案。这里是负责检测视线并生成生成表示视野的mesh的三角面的各顶点位置以及每个三角面用那些顶点构成的序号(这里我讲不清,建议去看Mash的文档)下面是与mesh相关的类,一般由SeeVise调用负责最终生成表示视野的mesh。
2024-06-20 15:54:14
384
原创 [笔记]关于 Event Delegate Action Func EventHandler
它专门用于处理事件,并规定了接收两个参数(事件的发起者和事件参数)的委托签名。它提供了一种简洁的方式来表示无参数无返 回值的操作,通常用于触发事件或执行简单的操作。: Action 是委托的一种封装,它专门用于表示没有参数和返回值的方法的委托。虽然它的底层实现仍然是委托,但它提供了更清晰、更简洁的语法来表示这种类型的方法。: Func 也是委托的一种封装,它用于表示具有返回值的方法的委托。它接收两个参数:事件的发起者和事件参数,用于 处理事件的方法。
2024-04-29 22:02:04
388
原创 关于在unity中实现背包系统
接下来是我个人对于背包系统的理解,一种是刻板印象里的背包,如《像素地牢》里面的人物背包主要强调用于保存玩家获得的物品,而另一种并不像刻板印象的背包,但它又如背包那样可以保存,获取,调用,但相比于刻板印象中的背包强调 “保存” 而它是强调 “调用”(类似于《元气骑士》里的武器吧) 与其叫她为背包或许叫它装备更为合适,可能这种的 “背包”真的被称为装备吧,学的不多欢迎指教,总之,不同的 “背包” 侧重点不同,因此背包系统不应像保存数据的系统和对象池一样,有着固定通用的设计思路,应该根据项目的需要定制。
2024-04-28 22:56:30
1590
原创 Unity ScriptableObject的简单使用
///////////////////////////我不知道这种类叫什么名字因此我暂时将它称为ScriptableObject模板类。/////////////////////////////////////////调用ScriptableObject对象的测试对象。///////////////////创建完后大概在这样的位置右键就可以创建ScriptableObject对象了。尽管我在代码中添加了很多的注释但是我认为解释的还不够清晰,因此,建议配合其他教程使用,或者直接问我。
2024-04-23 09:34:45
483
1
原创 在Unity中实现使用JSON保存数据
第二部分 游戏进行时保存数据的对象,使用一个结构体保存,并且在游戏一开始时将会调用数据仓库对象类试图读取已保存的数据。第一部分,我称之为数据仓库对象,负责数据的存入,读取,(如果后面需要加入删除功能也可以直接对其进行拓展)当想要保存数据时,直接调用数据仓库对象类并传入对应数据的结构体对象和其JSON。大概就这样吧,如果对以上的内容有疑问或发现有错误需要改进的地方,欢迎提问与指正。由于本人的英语水平过水,因此难免会出现变量名使用拼音命名,英文单词拼错等问题。但我准备了管够的注释,应该没问题吧。
2024-03-06 12:28:40
757
原创 在unity中实现对象池效果
要在unity中实现对象池效果可以自己徒手写一个对象池或者使用unity自带的对象池系统,下面两种的实现方法我都会写到。由于本人的英语水平过软(甚至水)因此难免会出现抽象的命名方式,但应该没有关系因为我准备了管够的注释。在我的理解中对象池系统必须要涉及,将对象加入池,将对象从池中取出的两个步骤。以下是用于调用对象池获取对象的类。以下是unity自带的对象池系统。以下是对象池内要装的游戏对象。以下是单独的对象池类。
2023-12-29 01:13:18
577
原创 广度优先遍历寻路 使用Java实现
我将一个图的路线以一个三维数组的方式保存,图的y轴表示一条路中出发的点,x轴表示一条路的终点,z轴表示一条路的各种信息(如该路线是否联通,路线的权重,是否曾经有通过过)
2023-09-25 17:34:25
156
原创 CCF-CSP 分蛋糕
小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到。时,再继续将剩下的蛋糕中编号最小的给他 这题要无视这段话。
2023-09-16 13:22:17
127
原创 CCF-CSP 线性分类器 Java版答案
一道简单但是流程会有点繁琐的题目,令外遇到样例不能复制粘贴的时候手打记得要看仔细,刚开始以为是什么错误,结果是测试的样例打错了,浪费了很多时间。
2023-09-09 20:10:52
168
2
原创 CCF-CSP 何以包邮 JAVA版答案
在此之前从未接触过动态规划,也是看了一遍大佬的解析才写出来的(差不多就是看了一遍,然后想办法复现他的思路吧)关于动态规划的内容还可以参考这个视频BV1yL411L7sX。
2023-08-23 17:00:08
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人