- 博客(20)
- 收藏
- 关注
原创 UGUI源码解析笔记
《UGUI核心机制解析》摘要:本文深入剖析Unity UGUI系统的核心机制。1)源码获取与调试方法:通过Package Manager卸载UnityUI后导入本地源码,利用Log调试Button点击事件处理流程;2)Canvas刷新机制:基于脏标记的Rebuild/ReBatch流程及性能优化策略;3)EventSystem工作原理:从输入检测到事件触发的完整链路;4)RectMask2D裁剪原理:通过ClipperRegistry实现的高效矩形遮罩系统。
2025-09-07 19:44:21
866
原创 Unity 自定义协程
Unity自定义协程(CustomYieldInstruction)摘要 Unity提供了CustomYieldInstruction抽象类,允许开发者自定义协程等待逻辑。核心是重写keepWaiting属性,返回true表示继续等待,false则恢复协程执行。通过继承该类可实现特殊等待条件,如: 封装复杂等待条件 实现异步操作等待 创建复用性高的等待逻辑 示例展示了等待鼠标点击次数的实现,通过内部辅助类监听输入事件。这种机制扩展了Unity原生协程功能,使异步流程控制更加灵活。
2025-09-05 22:00:55
167
原创 C# Socket.Poll() 判断客户端Socket状态
Socket.Poll()的SelectRead返回true可能表示数据可读或连接关闭,需结合Available属性判断。实验发现:客户端发送频率影响缓冲区状态,快发时Poll返回true(有数据堆积),慢发可能返回false(缓冲区空)。正确做法是:1)永久阻塞Poll(-1)等待事件;或2)Poll(1000)后检查Available==0判定关闭。仅当Available为0时才确定连接终止,避免将正常数据到达误判为断开。多消息场景下需配合Receive()清空缓冲区实现可靠状态检测。
2025-08-20 00:52:51
530
原创 IEEE 754 & 使用定点数替代浮点数运算笔记
本文介绍了IEEE 754浮点数标准及帧同步中的浮点数问题解决方案。IEEE 754定义了浮点数的表示格式和运算规则,包括单/双精度结构、特殊值处理和舍入模式。在帧同步应用中,由于浮点数的平台差异会导致一致性问题,通常采用定点数替代方案:通过缩放因子将浮点转整数运算,构建定点数学库,使用查表法处理复杂函数,并统一放大截断规则。这种"定点数+数学库+查表"的方法能确保跨平台计算一致性,建议仅在渲染层使用浮点数,逻辑层采用定点运算。
2025-08-17 21:39:30
399
原创 C#网络编程基础知识总结
本文总结了C#网络编程的基础知识,涵盖OSI七层模型、TCP/UDP协议特点和实现代码。主要内容包括:TCP的三次握手/四次挥手流程、可靠传输机制和粘包处理方案;UDP的无连接特性和广播支持;以及BitConverter工具类的使用。文章提供了完整的TCP/UDP服务端和客户端代码示例,并通过对比表格区分两种协议的应用场景。适合作为C#网络编程的入门参考,帮助开发者理解底层通信机制并快速实现网络应用开发。
2025-08-17 21:01:32
398
原创 Unity 技能编辑器中使用到的 API 汇总与扩展笔记
本文总结了Unity编辑器扩展开发的核心API,涵盖编辑器窗口创建、GUI控件绘制、SceneView操作、动画控制、Job系统及资源管理等关键功能。重点介绍了EditorWindow、EditorGUI、Handles等常用类,以及文件读写、动画API和Job系统等实用工具。文章还推荐了Odin Inspector、Timeline等扩展插件,为开发者提供全面的Unity编辑器扩展开发参考指南。这些API能帮助开发者高效创建自定义编辑器工具,提升开发效率。
2025-08-04 17:09:47
357
原创 Lua 学习笔记
本文是一篇Lua语言入门教程,主要介绍了Lua的基本语法和特性。内容涵盖:Lua环境安装、基础语法(变量、数据类型、运算符、流程控制)、核心数据结构table、函数(包括高阶函数和闭包)、模块化开发、面向对象编程实现、元表机制等。教程详细讲解了Lua特有的概念如弱类型、全局变量默认、table的混合结构、协程等,并通过代码示例演示了如何使用。文章还对比了Lua与其他语言的差异,如没有++运算符、数组索引从1开始等,适合初学者系统学习Lua语言。
2025-07-11 03:10:40
475
原创 #F. 维吉尼亚加密 SWUST python作业
解密方法与上述操作正好相反,先查出当前字符在密码表中偏移后的位置,再到初始字符集中查找对应的字符。如上图为维吉尼亚密码的加密过程示意,左边为加密替换表,上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:。
2024-06-16 14:12:53
962
原创 #B. 食材搭配 SUWUST python作业
假设你是一个美食家,现在需要编写一个函数,函数接收一个字符串作为参数,该字符串由多个食材组成,每个食材之间用"$","#"等特殊符号隔开,函数需要将这些食材两两组合起来,输出所有可能的菜式,要求食材不能重复出现。注意:为确保输出一致,在解析出食材之后,建议先对食材排一次序再进行搭配,搭配好后排序再输出,中文本质上是利用unicode字符转换的数值排序,不是拼音序号排序。花菜+西红柿 花菜+鸡蛋 西红柿+鸡蛋。西红柿%鸡蛋*花菜$西红柿。
2024-06-15 23:49:17
296
原创 NVIDIA CUDA安装程序失败/NVIDIA 显卡驱动/NVIDIA GeForce experience 安装程序失败 疑难杂症
WOW!终于看到了软件许可协议。
2024-03-11 17:10:19
3802
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2