
C#
文章平均质量分 60
青岚岁叶
道阻且长,行则将至。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式——简单工厂模式
简单工厂模式是一种创建型设计模式;通过工厂类统一创建同类型的不同对象,将创建逻辑与使用逻辑分离。使用者只需传入参数获取所需对象,无需关心创建细节。该模式优点在于解耦和结构简单,适合产品类型较少、创建逻辑简单的场景;缺点是违反开闭原则,新增产品需修改工厂类,灵活性受限。适用于低变更频率、初期解耦需求的项目。以计算器功能为例,工厂根据参数动态决定创建的具体运算对象。原创 2025-06-13 03:30:00 · 269 阅读 · 0 评论 -
Unity开发——SendMessage向父/子对象发送消息
SendMessage是Unity提供的一个方法,用于在游戏对象及其子对象之间发送消息。允许脚本对象在不直接引用其他脚本的情况下相互通信;并介绍使用时注意的优点缺点,以及其他可替代方法;原创 2025-04-23 12:45:00 · 538 阅读 · 0 评论 -
Unity开发——Destory延迟销毁导致异常的处理
Unity开发——Destory延迟销毁导致异常的处理一、简单介绍Destory二、使用Destory注意事项三、Destory延迟销毁导致异常的处理方法1、DestroyImmediate();强制立即销毁;(编辑器下推荐使用)2、GameObject = null;强制置空,跳过等待删除;(推荐使用)3、其他方式原创 2025-03-31 11:00:00 · 1270 阅读 · 0 评论 -
C#基础:类的三大特性 之 多态
一、封装、继承、多态关系说明二、什么是多态三、两种多态1、编译时的多态(1)方法重载;(2)运算符重载;(3)隐藏方法2、运行时的多态(1)虚函数;(2)抽象方法;(3)接口实现四、类的继承关系来实现多态1、虚函数(运行时多态);2、抽象函数(运行时多态);3、隐藏方法(也叫重载,编译时多态)五、接口中多态的实现1、多重继承;2、多个类继承同一个接口;3、接口和接口之间可以进行继承 ;4、继承条件原创 2025-03-21 12:00:00 · 691 阅读 · 0 评论 -
C#基础:类的三大特性 之 继承
一、封装、继承、多态关系说明二、什么是继承三、继承特性四、里氏替换原则原创 2025-03-18 03:15:00 · 221 阅读 · 0 评论 -
Unity开发——点击事件/射线检测
Unity开发——点击事件/射线检测一、IPointerClickHandler接口二、IsPointerOverGameObject()方法三、RaycastAll()方法四、EventTrigger组件原创 2025-03-16 00:00:00 · 1735 阅读 · 0 评论 -
大白话理解lua热更原理
因为表面我们写代码,定义变量是啥类型,用到那个库,而底层有个元数据的东西,有记录各个对象的数据信息,反射就是读这个元数据,跨程序集,找到这是啥玩意,然后来告诉你。由于语言特性,lua就跳过中间编译解析处理过程,在执行语句时,根据fix标签这种,插入到对应位置,替换执行的功能逻辑,进而实现功能热更。运行时,根据程序执行不同脚本,同个方法执行不同效果功能,运行时根据执行到哪里,来确定变量的类型,不需要写lua时确定变量的类型。lua是解释性语言,就没有打包编译解析的过程,就直接丢给机器,机器就能直接读懂运行。原创 2025-03-13 01:15:00 · 575 阅读 · 0 评论 -
Unity开发——Xml文件使用
(2)standalone表示该xml是不是独立的,如果是yes,则表示这个XML文档是独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以用外部的DTD规范文档。3、从XmlElement里获取指定名称的数据:这里获取ID为例。1、关于 XML 头声明和standalone 的解释。先记一部分,下回再整理记录剩下的。在C#文件IO接口加载文件。1、获取根节点下的所有子节点的List。四、Xml文件转其他格式文件。五、其他格式文件转Xml文件。原创 2025-03-10 10:15:00 · 407 阅读 · 0 评论 -
Unity开发——设置UI跟随鼠标移动
设置UI跟随鼠标移动的两种实现方式及其区别原创 2025-02-28 09:15:00 · 639 阅读 · 0 评论 -
Unity功能——设置提示面板的显示与掩藏
使用UGUI的CanvasGroup组件,配合鼠标监听事件,代码控制UI对象的显示与掩藏;原创 2025-02-25 15:30:00 · 501 阅读 · 0 评论 -
C#基础:类的三大特性 之 封装
一、封装、继承、多态关系说明二、什么是封装三、封装的好处四、封装体现和使用原创 2025-02-23 23:15:00 · 953 阅读 · 0 评论 -
c#开发——多条件排序
实现多条件下对列表元素进行排序,这里提供两种方法:一、使用LINQ的扩展方法:OrderBy()和ThenBy();二、使用C#List的Sort()及其重载方法;原创 2025-02-16 20:30:00 · 499 阅读 · 0 评论 -
C#开发——接口Interface
C#开发接口Interface原创 2025-01-07 21:30:00 · 562 阅读 · 0 评论 -
Unity功能——资源、文件的AES加密解密
Unity功能——资源、文件的AES加密解密一、AES1、简单介绍说明2、AES加密解密脚本二、AES加密方法1、自定义AES加密方法2、AES加密使用三、AES解密方式1、两种解密方法2、AES解密使用3、两种解密方式比较原创 2024-08-17 20:30:00 · 2033 阅读 · 0 评论 -
Unity功能——物体随鼠标朝左/右旋转(带角度限制)
Unity功能——物体随鼠标朝左/右旋转(带角度限制)功能简介:unity的3d场景中,设置3d物体和2dUI,随鼠标移动,向左/右旋转,带角度限制;1、获取鼠标位置2、设置物体的左右朝向3、限制物体角度 (1)3d场景中,限制Y (2)UI场景中,限制Z4、完整功能代码原创 2024-05-26 08:45:00 · 1676 阅读 · 0 评论 -
Unity开发——好用的数值概率公式
1、血量、伤害两个因素作用,击杀目标2、血量、伤害、以及随机成功概率三个因素作用,概率性击杀目标3、物体的位置,抖动系数确定震动随机范围,实现自然的随机震动原创 2024-05-24 20:00:00 · 658 阅读 · 0 评论 -
Unity功能——设置Camera,实现玩家被攻击后晃动效果
摘要:通过调整相机移动,视觉感觉玩家面板剧烈晃动,实现被boss攻击时的震动效果。游戏案例:捕鱼达人中被boss撞击后产生的震动晃动效果。核心语句:随机数设置:andom.Range(0f, 振动系数) - 振动系数* 0.5f;原创 2024-05-21 22:15:00 · 1328 阅读 · 1 评论 -
Unity功能——设置场景加载进度条
Unity功能——设置场景加载进度条1、使用异步加载场景2、用协程更新进度条3、进度条加载优化4、完整功能代码原创 2024-05-17 20:00:00 · 1976 阅读 · 0 评论 -
Unity功能——设置图片随时间自动渐显渐掩
两种方式:本质都是 根据时间修改图片透明度 达到显示或掩藏图片的效果1、监测图片透明度,根据图片透明度值来显示或掩藏图片;2、监测时间,根据时间长短来显示或掩藏图片;原创 2024-05-17 10:00:00 · 717 阅读 · 0 评论 -
Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)
Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)博文简介:1、监测按键触发2、设置物体旋转3、完整功能代码原创 2024-05-27 09:00:00 · 1157 阅读 · 0 评论 -
Unity开发——控制台输出
目的:通过Unity控制台输出,帮助自己检测判断编写的程序:1、是否获得正确的数据;2、特定位置的代码片段、函数是否运行;方法:1、UnityEngine下的Debug方法2、MonoBehaviour下的Print方法原创 2020-02-13 00:14:50 · 11242 阅读 · 0 评论 -
C#API——三种String函数及其重载,删除字符
String.Substring();String.Trim();String.Remove();原创 2022-07-13 20:15:00 · 16072 阅读 · 1 评论 -
Unity开发——FindIndex方法,查找获取List里目标对象
List的FindIndex 方法,结合匿名方法,非For,Foreach方法实现根据名称获取列表里的目标元素。找到列表里匹配对像后,会返回对应的索引值;原创 2022-06-16 17:53:47 · 712 阅读 · 0 评论 -
Unity开发——3种Json插件及其使用简单介绍
Unity开发——3种Json插件及其使用简单介绍LitJson插件、Newtonsoft.Json、JsonUtility及其实现的读档存档解析服务器数据的功能方法原创 2022-06-15 11:32:38 · 2248 阅读 · 0 评论 -
unity——删除父物体下面的所有子物体
一、删除多个子物体存在的坑二、实现删除子物体的方法三、其他可能的踩坑原创 2022-05-25 19:45:00 · 12320 阅读 · 8 评论 -
unity功能——处理string格式的Time,并判断时间先后
处理string格式的Time(年月日),并判断时间先后一、处理时间格式输入时间,string格式:“2021/12/30 17:59:25”;输出数字串,List格式:“[2021,12,30,17,59,25]”;二、比较List里的同下标的数字大小,判断时间先后1、越靠近列表前面的数字越大,越接近最近时间/时间最新/最晚;2、这里精确到秒,判断时间先后时,基本不担心会有重复相同的。三、相关方法:正则表达法处理空格,字符串判断是否为空、字符串与数字类型转化等;原创 2022-05-23 21:15:00 · 2248 阅读 · 2 评论 -
unity——长时间不操作检测
unity——长时间不操作检测一、协程控制无操作监测(StartCoroutine("AutoCheck");)二、最简洁的控制无操作监测(仅Update())三、某个外部操作控制开启或取消无操作监测(if(Input.GetKey(KeyCode.J)))原创 2022-05-18 21:15:00 · 2645 阅读 · 0 评论 -
UnityTMP开发——TMP_Dropdown之设置一个新的下拉选项
实现的功能:在指定Drop的指定位置插入一个新的具有指定值的选项;1、新建下拉选项对象Option2、设置Option的index3、设置Option的value4、功能方法原创 2022-03-23 22:15:00 · 1861 阅读 · 0 评论 -
Unity开发——通过C# Process,实现外部程序控制应用
1、启动外部程序:Process.Start();及其多个重载;2、接收传参:Environment.GetCommandLineArgs();3、关闭程序:Process.GetCurrentProcess().Kill(); 关闭自身Path.GetFileNameWithoutExtension(Process.GetCurrentProcess().MainModule.FileName);获取进程名process.HasExited;是否退出process.Kill();关闭目标进程原创 2022-01-24 17:42:54 · 6845 阅读 · 0 评论 -
Unity功能——实现根据关键词(可以非数值类型)进行排序与搜索
摘要:排序:根据最新更新的时间进行排序;搜索:根据关键词搜索,(1)只要有关键词就是搜索结果之一(非全字匹配);(2)全字匹配关键词,并根据和关键词匹配程度,排序搜索结果;关键词匹配程度规则:相似度: +/- [(X.Y)+1];(1)X表示匹配词里关键词前面字符的个数;(2)Y表示匹配词里关键词后面字符和个数;(3)区分大小写,相似度为(1+X.Y),完全匹配,则为1;(4)不区分大小写,相似度为-(1+X.Y),完全匹配,则为-1;等等原创 2022-03-27 17:15:00 · 828 阅读 · 0 评论 -
Unity功能——将string形式的分辨率转Resolution格式
字符串形式的分辨率转分辨率格式unity分辨率参数:高度、宽度、垂直刷新率原创 2022-03-22 20:15:00 · 453 阅读 · 0 评论 -
Unity功能——动态更改指定物体的所有子物体的Layer属性
动态更改所有子物体Layer:1、判断物体的Layer是否满足条件如果目标Layer不存在/不相等,返回值是-12、代码修改物体的Layer值transform.gameObject.layer = LayerMask.NameToLayer("想要设置的layer值");3、使用foreach 遍历所有子物体进行赋值完整代码原创 2022-03-22 11:39:34 · 2461 阅读 · 0 评论 -
Unity开发—— C#中存在的异步执行情况的方法和数据结构
Unity开发—— C#中存在的异步执行情况的方法和数据结构涉及方法和数据结构:Dictionary,List,Destory,Foreach,While,For示例、详解说明;原创 2021-12-30 17:56:56 · 2297 阅读 · 0 评论 -
Unity开发——C#enum枚举类型转换
1、enum与int之间相互转换:强制转换2、enum与object、string之间转换t;3、示例原创 2021-11-12 10:29:35 · 2196 阅读 · 0 评论 -
Unity开发——C#反射与泛型使用
1、GetList();在 ClassB脚本里获取 ClassA类 里的所有 T1类型 的字段,并放到列表中,然后返回结果列表2、GetSingleData(T1 sourceDatas, T2 targetObj, string name);将sourceDatas里字段名为name的值赋值给targetObj对象;3、功能脚本原创 2021-09-15 13:38:04 · 549 阅读 · 0 评论 -
Unity开发——Outline组件及其相关属性
1、问题:Unity Outline组件、QuickOutline插件的Outline脚本冲突前提:需要修改图片的轮廓,使用unity原生Unity Outline组件,脚本获取组件时,使用:transform.GetComponent<Outline>().OutlineColor = testImage.color;获取到的是QuickOutline插件的Outline脚本,而不是原生Outline组件;原创 2021-07-21 17:52:28 · 6116 阅读 · 2 评论 -
Unity开发——触屏功能之物体随手指拖动而转动
这里是原文,很棒:Unity 物体根据手指拖动而转动(可用于物体的360度展示)(手机端)_阳尘子的博客-CSDN博客转载 2021-11-12 10:49:23 · 2129 阅读 · 0 评论 -
Unity开发——C#4种设置浮点数位数、格式的方法
Unity开发——C#4种设置浮点数位数、格式的方法同样的对其他类型数据类型处理方法的思路也差不多。1、Mathf运算符; 2、Math方法;3、String.Format(); 4、Value.ToString();原创 2021-03-25 11:34:56 · 13585 阅读 · 4 评论 -
Unity数据存储——本地playerPref存储
Unity数据存储学习之——本地playerPref存储提示:1、存储时,赋值对应的建议直接是数值、字符串,使用引用赋值容易出错2、由于PlayerPrefs存储数据的位置为注册表,不建议过于频繁存储和读取数据,另外建议使用PlayerPrefs存储数据轻量数据。3、PlayerPrefs只支持 string、int、float三种类型。原创 2021-03-24 16:33:18 · 3462 阅读 · 1 评论