- 博客(19)
- 问答 (1)
- 收藏
- 关注
原创 Unity中的NetworkManager基于protobuf, Socket-TCP
下面的NetworkManager基于与大端服务器通信,如果服务器不是大端,记得修改。如果没有引入protobuf,记得修改。如果没有引入Newtonsoft.Json,记得修改。本文章只做备份用,如有不理解,多看注释与问ai。对应的proto文件。
2025-12-02 11:16:33
315
原创 使用LubanConfig生成excel表对应的json文件和代码(示例为c#和java)
模块名随便填,后面的跟的.TbLevelInfo 这种就是自动生成的代码使用的时候查表就用这个,类名顾名思义就是生成时可以给你接收的类名,input就是你新增的表的名字从,记录到了__tables__里面就会在自动生成时读取到。每当在文件夹下面新增表都需要去__tables__里面新增该表的定义,__enums__则是自定义的枚举,生成代码会根据__enums__下面的定义自动生成枚举,在里面定义了就可以在其他表中使用。下载下来可以删除不需要的目录,其实除了上面两个文件夹,下面的文件也可以删除。
2025-11-21 17:41:38
859
原创 在YooAsset+HybridCLR项目中读取LubanConfig的json文件和ScriptableObject文件
书接上回,从Main场景开始就会初始化YooAsset的资源包"DefaultPackage",我的所有热更资源都放在了HotUpdateAsset文件夹下,并设置了寻址路径指向,要想读取这些热更文件就要等YooAsset的资源包初始化好。什么时候初始化好呢?阅读脚本发现我们这里初始化了之后将数据保存在了另外一个单例脚本GameTables中,因为资源初始化是异步的,只有资源初始化完成了我们才能拿到,该脚本为C#单例,而非Unity的Mono单例。这是目前的文件夹结构。
2025-11-21 17:00:51
318
原创 YooAsset(2.3.17)+HybridCLR 的 开始 LoadDll 代码
2.需要一个入口场景(如Main,任意命名),和一个开始场景(如Start,任意命名),入口场景也非热更场景,一般我也直接放在Asset文件夹下,其他的都丢寻址资源下面了。1.LoadDll脚本放在非HotUpdate文件夹下,直接放在Asset下或任意位置。1.记得替换掉你的热更服务器下载地址 代码中搜索MARKER可以找到更改的地方。3.挂在LoadDll脚本的物体在打包的时候切换为HostPlayMode。3.在Main场景中的任意物体下挂在LoadDll。
2025-11-21 16:38:26
194
转载 转载POWERFUL ACTION-REACTION System in Unity|BEST Card Game ARCHITECTURE!Unity 中强大的“动作-反应”系统|最佳卡牌游戏架构!
ai写的文章摘要本文分享了一个Unity游戏开发中的事件驱动系统架构代码,用于实现卡牌游戏的Action-Reaction机制。系统通过GameAction基类封装游戏操作,分为前置、主执行和后置三阶段处理流程。核心功能包括:1)使用字典存储不同类型的事件处理器和订阅者;2)通过协程实现异步事件流控制;3)支持递归处理反应事件链。代码提供了完整的注释说明,包含事件注册、订阅和执行逻辑,解决了原视频中代码不完整的问题。该系统适用于需要复杂事件交互的游戏场景,如卡牌游戏的抽卡、伤害等操作。
2025-07-12 12:02:21
125
原创 RTS类游戏摄像机移动CameraController_RTS
这段代码实现了一个Unity相机控制器,主要功能包括:1)鼠标滚轮缩放控制;2)鼠标右键旋转镜头;3)WSAD键移动视角;4)鼠标中键拖动移动;5)鼠标靠近屏幕边缘自动移动。脚本需要挂载到主摄像机上,并设置一个无碰撞体的FocusPoint空物体作为旋转中心点。所有移动功能都采用了平滑过渡效果(SmoothDamp/Lerp),可调整移动速度、缩放范围、旋转灵敏度等参数。不需要的功能可直接在Update方法中注释掉对应调用。该控制器适用于RTS、模拟经营等需要灵活视角控制的游戏场景。
2025-06-29 15:46:13
257
原创 Unity中的AudioManager
目录下,可以将一开始的LoadAudioResources函数公开就能传入深层路径。还是挺好理解的,控制啥直接新建一个Slider就行了,Slider啥也不用改。最终音量 = 主音量 × 通道音量 × 播放音量缩放。,AudioManager 会在场景切换时保留。我直接用了一个AudioPanel来控制。在场景切换时清理不需要的声音。提前说明一下,音频文件是放在。没啥好多的了,直接用就行了。通道音量相对于主音量。
2025-05-31 21:16:21
496
1
原创 基于Unity的事件中心系统EventCenter,用于集中管理游戏内的事件监听与触发。
该事件中心通过单例模式和泛型设计,提供了简洁高效的事件管理机制,适用于Unity项目的解耦需求。开发者需注意事件类型的一致性和监听的生命周期管理,以确保系统稳定运行。
2025-05-21 19:06:28
570
原创 力扣困难题:缺失的第一个正数,困难点在于O(n)的时间复杂度和用常数级别额外空间
给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。3范围 [1,2] 中的数字都在数组中。21 在数组中,但 2 没有。1最小的正数 1 没有出现。这道题如果没有要求实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案,那这就是一道简单题,只需要排序之后,按顺序遍历,后一个数不等于前一个数加上一时就是答案。
2025-04-09 12:07:37
531
1
原创 力扣字母异位词分组题,c++和c#思路及代码
补充,c#在最新的c# 13中引入了很多便捷的语法糖,可以不用new 来实例化链表数组等,同时在c#中还可以很方便的使用匿名类型(自动推断类型),代价只需要立刻赋值就好。字母异位词(如 "eat" 和 "tea")虽然顺序不同,但排序后会得到相同的字符串(如排序后均为 "aet")。通过排序字符串的字符,所有异位词会生成相同的键,从而被哈希表正确分组。众所周知,不管是c++还是c# 只要版本越高,写出来的东西就能越抽象。是由重新排列源单词的所有字母得到的一个新单词。下面是用c# 12的语法糖写的。
2025-04-08 19:24:00
361
原创 力扣接雨水题c++和c#思路及代码
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。雨水量=min(左最大高度,右最大高度)−当前高度(若结果为正)雨水量=min(左最大高度,右最大高度)−当前高度(若结果为正),需要两次线性遍历(左遍历和右遍历),总时间复杂度为 O(n×n)=O(n2)O(n×n)=O(n2)。通过维护左右两个指针和左右两侧的最大高度,动态计算每个位置能接的雨水量。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。
2025-04-06 15:44:45
784
1
原创 字符串转宽字符串,宽字符串转宽字符数组,宽字符数组转宽字符串,宽字符串转字符串
int j = 0;= L'\0')j++;if (!psz)psz = NULL;return str;if (!wct)wct = NULL;i++) {
2023-07-06 15:19:03
347
原创 使用用递归下降分析算法的计算器
下面是使用纯代码做的计算器,输入输出都在控制台,没有制作界面,算法就是递归下降分析算法,直接输入算式即可,如1+1。输入要计算的算式然后回车。
2023-06-19 22:59:49
463
1
解背包问题算出来答案不对,不知道代码哪里不对
2023-02-04
我的输出结果不对是为什么?
2022-11-30
求一个数组里的最大元素,怎么我运出来是个R啊
2022-11-29
给数字之间加空格,我的程序只输出一个数就没了
2022-11-25
刚学函数,不是很会用,想要反向输出字符
2022-11-23
我想用数组把两串字符合并,结果第一串正常输出,到第二串就变成一个问号了
2022-11-15
我的程序没有输出是为什么?
2022-11-08
倒三角输出第一排和第二排在一起
2022-11-05
比大小运行出来,输数字不能比大小
2022-10-25
我想输入一个int型数,将它的低4位(右四位)都置为1,但实际运出来不行
2022-10-22
if函数执行有问题,有时执行if连带else也执行
2022-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅