- 博客(12)
- 收藏
- 关注
原创 c#迭代器
实现了GetEnumerator方法的类或者返回值是IEnumerable的方法(方法名随意)都可以用foreach遍历,GetEnumerator返回值是IEnumerator。//将游标重置到第一个成员前面。//将游标的内部位置向前移动。} //获取当前的项(只读属性)返回值是IEnumerator的方法(方法名随意)就要用迭代器的方式去遍历了。IEnumerator是一个迭代器。
2024-12-23 19:55:07
116
原创 c#的数据结构
和List功能一样的接口命名大体都是一致的比如Add,Remove,也有不一样的比如ContainsKey。StringBuilder: 动态字符串,适用于频繁改动内容的情况。List:动态数组限定类型,使用较多,api如下。arrayList:动态数组,不限制类型。队列,优先级队列,栈等数据结构都有提供。Dictionary:字典(map)可以初始化的时候给定容量和扩容因子。for 和foreach都可遍历。array:固定长度数组。
2024-12-23 16:27:24
161
原创 c# where协程
/等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间不受到Time.timeScale的影响);//等待0.3秒,一段指定的时间延迟之后继续执行,在所有的Update函数完成调用的那一帧之后(这里的时间会受到Time.timeScale的影响);yield return new WaitWhile()//将协同执行直到 当输入的参数(或者委托)为false的时候…//(任意数字) 下一帧再执行后续代码。//等待某个协程执行完毕后再执行后续代码。
2024-12-23 14:37:59
200
原创 关于unity动画融合树的一些理解
关于unity动画融合树的一些理解动画融合树的目的:是让动画在不同的条件下通过不同的组合以实现更加流畅的效果决定动画播放效果的有两方面:角速度和速度...
2024-12-23 14:23:46
75
原创 关于排序的总结(未完)
先介绍一些关于排序的概念稳定性:假如a,b相等,重新排序后位置会不会发生变化时间复杂度:对基本语句操作的次数---------------以下说的时间复杂度皆为最坏的时间复杂度-----------------------------------冒泡排序:主要思路是:通过相邻两元素的比较将最大(小)的元素放到后面,需要两层循环,外层循环控制循环次数,因为每次循环只能找出一个最值,因此需要...
2024-12-23 14:22:45
96
1
原创 Unity资源优化
当AnimationType为Humanoid时有几个选项:skinWeights:默认为4,根据情况可以改为1,optimizeBones:剔除无用骨骼,optimizeGameObject:个人理解为生成一份映射数据去控制蒙皮了。有换装需求的动态设置。音频文件:是否使用双声道,采样频率,根据音频应用场景选用模式。动画文件:无动画的AnimationType设置为 :None。
2024-12-23 14:17:54
86
原创 c#属性器,代理,接口
当属性器的写法不需要用到具体的那个成员变量的时候,感觉是C#自动帮你申请一块匿名空间,需要显式使用到属性器关联的成员变量的时候,需要自己写一个了。接口和抽象类都是定义抽象行为的,个人理解接口更public和抽象。类只能继承一个抽象类,有时候感觉接口也像一个补丁?代理就是函数集合,可以把函数当作变量用,好处是可以灵活组装你想要的调用方式顺序和组合。Action和func是系统默认提供的两种代理,前者没有返回值后者有。事件就是只能在声明的地方调用的代理。
2024-12-20 15:31:18
81
原创 unity适配
以上都有一个特点就是缩放过后,高变大的时候,都会整体缩放为设计尺寸的高。unity canvas UIScaleMode Extend模式。3.都小于,按大的缩放,这样才能满足设计分辨率。手机屏幕分辨率和设计分辨率有三种情况。1.长宽都大于,按比例变化小的缩放。2.有一个小的,就按小的缩放。
2024-08-30 13:13:32
142
原创 关于Unity代码的书写的建议
3.初始化尽量GameObject.Instantiate(prefab, parent, position, rotation),不要二次设置。2.尤其在例如Update这样的函数中考虑代码是否可以降频,避免多次初始化,计算等等。1.缓存:把要用的一些对象组件,只初始化一次保存起来使用,避免多次初始化和Get。关于Unity代码的书写的建议。
2024-06-21 14:19:44
101
原创 unity渲染瓶颈识别
Gfx.WaitForGfxCommandsFromMainThread/WaitForCommand : 渲染线程已经准备接受新的渲染命令,一般瓶颈在CPU。Gfx.WaitForPresentOnGfxThread/WaitForPresent: 主线程等待渲染线程绘制完成,一般瓶颈在GPU。WaitForTargetFPS: 等待达到目标恢率,一般这种情况CPU与GPU都没什么负载问题。WaitForJobGroupID: 等待工作线程完成,一般瓶颈在CPU。
2023-11-30 11:25:17
660
原创 c#,索引器,接口
c#精要1.索引器可以直接通过对象(实例),类似于数组的方式去访问类中的数据(小花招而已,没什么神秘的)2.接口(重点)因为c#都是单继承的,接口的使用就为我们实现多继承提供了方式定义interface IMyInterface{Bool Equals(T obj);}约定接口名第一个字母为大写的I,可以简单的理解接口为一个抽象的基类,更详细的接口使用请参考https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/
2020-08-21 20:59:14
93
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人