- 博客(33)
- 问答 (1)
- 收藏
- 关注
原创 Unity 二级弹窗机制与回调实现原理
二级弹窗指在一个弹窗上再弹出另一个弹窗,且需要将用户操作结果回传给调用方。主界面(GamePlayerInfo)→ 点击踢出按钮 → 弹出确认弹窗(ConfirmPopup)用户点击确认/取消后,主界面需要根据结果执行操作(如销毁玩家项)接口定义:统一的结果接收接口中转管理:UIManager 作为回调的中转站结果传递:弹窗通过 UIManager 发送结果回调实现:调用方实现接口并处理结果解耦设计:弹窗不需要知道调用方是谁。
2025-11-10 20:00:00
367
原创 《打造你的“离职力”:一种更积极的职业发展心态》
本文源于一段真实的工作经历与思考。在一次公司战略调整中,笔者亲身经历了:负责在即的新项目被突然搁置、团队成员发生变动,与此同时,笔者也被从原有的技术核心角色,临时调整至其他项目进行支援。这种计划之外的变动,带来了短暂的目标迷失与情绪波动。在困惑中,笔者与AI助手进行了一场深度对话,旨在梳理思绪,寻找破局之道。
2025-11-07 01:32:20
392
原创 《打造你的“离职力”:一种更积极的职业发展心态》
职场“双线作战”策略:在不确定性中掌握成长主动权 面对职业变动与项目调整带来的迷茫,本文提出“明暗双线”策略,将职场挑战转化为个人成长机遇。明线专注本职工作,以职业态度完成指派任务,同时挖掘项目中的学习价值;暗线则系统性投资自身能力,通过针对性学习、技术复盘和作品积累,构建“离职力”——即随时可选择更好机会的核心竞争力。这一策略强调从“被动应对”转向“主动掌控”,以创业者心态利用公司资源赋能个人发展,最终实现职业免疫力的提升。关键在于平衡短期履职与长期增值,将职场波动转化为成长的跳板。
2025-11-07 00:48:42
370
原创 Unity中的旋转:搞懂欧拉角与四元数
概念人类友好数学友好是否会万向锁用途欧拉角 (Euler Angles)✅❌✅编辑器显示、初始设置四元数 (Quaternion)❌✅❌实际计算、插值、物理旋转Unity 选择四元数并不是为了让开发者痛苦,而是为了让游戏世界稳定地旋转。理解四元数,是理解三维空间的入门仪式。一旦你跨过这一步,旋转再也不会让你晕头转向。
2025-11-06 00:48:44
548
原创 [特殊字符] Unity 对象判空机制混乱原因总结(上篇)
if (obj == null) // 或者 obj is null这两种写法都只判断 C# 层的“引用是否为空”。但是在Unity里,这就不一定对了。因为Unity 的对象底层是 C++ 实现的,C# 层只是它的一个“壳子”。✅ 简单说:你看到的 GameObject / Component 等等,表面上是 C# 对象,其实内部绑定着一个 C++ 实体。
2025-10-31 11:45:19
440
原创 Unity Destroy 与 null 判定全解析(协程版)
结果往往和直觉不一样:go == nullgo is null,而且如果你用协程延迟检查,可能发现协程根本没执行。今天,我们就通过实验把这些情况捋清楚。
2025-10-31 11:44:39
994
原创 Unity 游戏开发中的防御性编程与空值处理实践
防御性编程不是多余的谨慎,而是必要的保险。即使服务器“理论上”会返回完整数据,现实往往没那么理想。只要客户端多判一次空、多加一个默认值,就能让程序更稳定,也能避免“游戏突然卡死”这种让人一头雾水的问题。毕竟“空是服务器的问题,但崩的是客户端。—— 所以我们要做的,就是让客户端永远不被它拖下水。
2025-10-31 01:41:01
620
原创 如何在 Unity 或 C# 项目中避免空引用和数据问题
接口的作用是:告诉 UI “我能拿到这些值”。但是,它并不关心这些值怎么从服务器拿到,也不管值可能会为空,接口只负责提供“我能拿到的值”。
2025-10-31 00:45:56
563
原创 C# 中的空条件运算符(?.)与空合并运算符(??)详解
运算符名称用法含义等价逻辑?空条件运算符A?.B如果A不为空则访问A.B,否则返回null(A!= null)?A.B : null??空合并运算符A??B如果A为空则返回B,否则返回A(A!= null)?A : B。
2025-10-30 23:35:35
328
原创 C#泛型详解:用Unity实例理解 <T>
别担心,这些语法用多了就熟悉了!先理解概念,然后多练习~ 加油!避免重复代码,一个方法适用所有Panel类型!
2025-09-19 01:58:11
311
1
原创 Unity 套圈捕捉 UI 实现分享:椭圆环 Shader + 动态进度
通过 Shader 对椭圆环的归一化计算,实现动态进度显示。支持顺/逆时针显示。封口描边、内外描边,增强视觉效果。C# 控制_Progress和,UI 可随角色位置和方向实时更新。
2025-08-24 03:50:34
455
原创 C# 高性能内存优化:全面理解 Span 与 stackalloc
Span:轻量切片,零 GC,但作用域有限stackalloc:栈分配,快速无 GC,但未初始化、生命周期短组合使用:适合高频临时数据处理,显著降低 GC 压力API 模式:TryParse/ TryFormat 大量使用Span,是高性能编程的基础💡一句话总结Span给你“零 GC 的切片工具”,stackalloc给你“零 GC 的临时数组”,它们是现代 C# 高性能开发的黄金搭档。
2025-08-24 02:23:15
1021
原创 高性能数值处理:SuperBigNumber 的优化实践
支持超大数值和高精度小数高频运算几乎零 GC,适合每帧更新字符串显示使用缓存池和预分配缓冲区,极大减少内存分配可控缓存大小与 LRU 淘汰机制,保证长期运行稳定这些方案不仅适用于游戏,也适合金融、科学计算等需要大数高精度运算的场景。
2025-08-24 01:21:13
293
原创 C# 浮点数与定点数详细解析
特性float / double(浮点数)decimal(定点数)存储方式二进制科学计数法十进制定点数精度有误差高精度范围大较小适用场景科学计算、物理模拟金融、货币、账务。
2025-08-22 19:33:50
730
原创 C# 浅拷贝与深拷贝的区别
浅拷贝:对象表层复制,引用类型字段共享同一份内存。深拷贝:对象完全复制,引用类型字段也会生成新的对象,互不影响。在实际开发中,如果对象中包含复杂的引用类型(如集合、对象树),通常需要手动实现深拷贝来避免数据被意外篡改。
2025-08-22 00:48:14
376
原创 C# 中的 List 引用、浅拷贝与闭包捕获问题详解
闭包(Closure):函数体中引用了外部作用域的变量,函数与这些变量的组合就称为闭包。Lambda 表达式捕获的是循环变量 i 的存储位置,而不是它的值。循环结束时i == 5,所有 Lambda 执行时都访问到同一个i,所以打印出 5。实际上,编译器会把i提升(hoist)到一个隐藏的类中,所有 Lambda 共享这个字段。List 是引用类型:多个变量引用同一个实例时,修改会互相影响。浅拷贝 vs 深拷贝:浅拷贝只复制引用,深拷贝复制对象本身。闭包。
2025-08-21 04:59:08
518
原创 C# 中的 string / StringBuilder / 值类型 / 引用类型 / CLR 总结
【代码】C# 中的 string / StringBuilder / 值类型 / 引用类型 / CLR 总结。
2025-08-15 16:04:52
334
原创 Mouse Jiggler — 纯净版鼠标自动移动工具(无广告 / 开源)
一个简洁实用的鼠标移动器,适用于直播防挂机 / 防息屏 / 模拟操作等场景。
2025-07-23 15:00:58
1470
原创 学习_宝箱是我的,部分笔记
例如:IUserService 处理用户相关的所有业务逻辑。IUserService.cs 的作用。成就系统(Achievement)技能系统(PlayerSkill)用户状态(UserStats)能量石(PowerStone)用户数据(UserData)可能包含一些业务相关的工具类。例如:用户数据、塔防数据等。将业务逻辑与UI展示分离。服务可以被多个视图层调用。塔防系统(Tower)敌人系统(Enemy)Facebook 分享。提供各种服务接口和实现。波次系统(Wave)可以模拟服务进行测试。
2025-06-11 15:27:30
207
原创 计算机网络考试题库
计算机网络考试题库第一章一、单项选择题1、计算机网络可以被理解为( B )A.执行计算机数据处理的软件模块B.由自治的计算机互联起来的集合体C.多个处理器通过共享内存实现的紧耦合系统D.用于共同完成一项任务的分布式系统2、计算机网络最基本的功能是( A )A.数据通信 B.资源共享 C.分布式处理 D.信息综合处理3、下列不属于计算机网络的功能的是( D )A.提高系统可靠性 B.提高工作效率C.分散数据的综合处理 D.使各计算机相互独立
2022-05-23 16:48:49
9790
2
原创 将一个5X5的矩阵中最大的元素放在中心, 4个角分别放4个最小的元素(顺序为从左到右,从上到下,从小到大存放)其余数字从小到大
将一个5X5的矩阵中最大的元素放在中心, 4个角分别放4个最小的元素(顺序为从左到右,从上到下,从小到大存放)其余数字从小到大#include <stdio.h>#include <string.h>int main(){void print(int (*p)[5]); //输出函数void sort1(int *p); //排序函数(从小到大排序)//void trans(int (*p)[5]) ;//排序函数(最大在中心,确定4角)void sor
2021-01-04 18:28:38
1750
转载 解不等式之代数和不等式
代数和概念:数学用语。将数(实数)的加减法算式视为省略加号的几个有理数的和,称这个算式的结果为这几个有理数的代数和。试解下列关于正整数n的代数和不等式:d < 1+1/2-1/3+1/4+1/5-1/6+···±1/n其中d为从键盘输入的正数,式中代数和表达式中的符号为两个“+”号后一个“-”。《至美——C程序设计》 在这个代码的基础上想,能不能先计算出离散解,再算出区间解。https://blog.youkuaiyun.com/double_main/article/details/53428
2020-10-26 13:42:25
373
原创 1.6解不等式 1.6.1 平方根不等式
//《至美——C程序设计》在这个前辈的代码上改了一点#include<stdio.h>#include<math.h>void main(){ long i, m; double n, s, s1; printf("请输入正数n(n>3):"); scanf_s("%lf", &n); /*输入任意正数*/ m = 0; s1 = 1; //赋值 while (1) {
2020-10-26 13:35:29
841
转载 C语言实现小数四舍五入
做日记笔记。转载自https://blog.youkuaiyun.com/weixin_38505045/article/details/79994536排版有更改C语言中实现四舍五入:(int)(a+0.5)即可。很巧妙的用了取整规则。也不用导入math.h同样注意负数的情况。把 + 换成 - 即可。float f = ……;int i = (int)(f + 0.5);i就是f四舍五入的结果。今天我要介绍在C语言中实现数据四舍五入的算法。我们知道,C语言中去除小数位采用的方法就是强制性转化
2020-10-24 16:33:31
15063
原创 C语言-同码小数和
设和式s(d,n)=0.d+0.dd+0.ddd+…+0.dd…d为n项同码d小数之和,其中第k项小数点后有连续k个数字d(d=1,2,…,9)。例如:s(7,4)=0.7+0.77+0.777+0.7777还有其他的解法 可自行搜索 这个是我想的一种方法#include<stdio.h>void main(){int j,d,n; //n项double t, s;printf("请输入整数d,n:");scanf("%d%d", &d, &n);t
2020-10-24 14:46:44
957
原创 用类来实现输入输出时间,定义多个类对象分别输入输出各对象的时间(时:分:秒),使用函数,数据成员不再由键盘输入,而在调用函数时由实参给出,并在函数中使用默认参数
//个人留着复习用#include using namespace std;class Time{public:int hour; //类int minute;int sec;};int main(){void settime(Time&,int hour=0,int minute=0,int sec=0); //函数声明void showtime(...
2020-02-21 11:13:15
2127
原创 给定两个整数m和n,求出m~n这段连续的整数中所有偶数的平方和以及所有奇数的立方和。
//自己留着复习用#include<stdio.h>int s(int a){if (a%2==0)return aa;elsereturn aa*a;}int main (){int i,m,n,s1,s2;scanf("%d %d",&m,&n);s1=s2=0;for(i=m;i<=n;++i){if(i%2==0)s1=s1+s...
2020-02-17 20:47:21
1419
空空如也
C++对象数组——学生信息表 补充代码 计算三个学生成绩的平均值?
2020-04-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅