- 博客(18)
- 资源 (4)
- 收藏
- 关注
原创 Unity中协程与迭代器的关系
Unity中非常重要的异步功能就是协程。讲协程和线程的区别以及它们的用法的文章很多,讲Unity执行协程的底层原理的也很多,这篇文章旨在讨论二者中间的部分,就是协程是怎么来的,它为什么要有固定格式。
2023-04-27 14:00:06
406
原创 LoxodonFramework框架解析
在查找unity的MVVM框架时发现了这个框架,实际使用下来发现并没有官方说的那么“轻量”,至少不是半天就能迅速上手的。正好自己处于想全面了解游戏框架的阶段,另一方面想多看看大佬们对C#的使用,因此有了把框架学习整理成文章的想法。下面以模块的方式解析整个框架,介于自己阅读源码的能力有限,会先从外围一点或者简单的功能开始,随后深入MVVM模式等较为复杂的模块。首先放上官方文档,上手的话看文档是完全够了的。
2023-04-24 13:52:45
836
原创 LoxodonFramework——Preferences(应用配置)二
由于序列化跟加密这两个主要功能被抽象出来,因此这篇主要讲这两个接口以及两个默认实现。
2023-04-24 13:50:54
209
原创 LoxodonFramework——Preferences(应用配置)一
Preferences对多应用配置的创建使用了工厂模式,接口为IFactory(注意和服务容器的IFactory不是同一个,服务容器的IFactory是ServiceContainer的内部接口),有一个抽象类的实现AbstractFactory。Preferences不是唯一的,它有一个静态的字典类型的cache,通过名字访问不同的应用配置。同时提供了数据加密的支持。主要是用于存储一些客户端本地的持久化数据,比如上次登录的账号,新手教程进度之类的,或者游戏里玩家的设置,音乐音效的开关和大小之类的。
2023-04-22 18:53:29
253
原创 C#委托和事件的关系
C#中委托是非常重要的一个类型,本文并不详细介绍委托是什么或者如何使用,只解释委托和事件的关系。因此需要读者对委托已经有一个大概的了解。
2023-03-21 15:12:17
165
原创 【Unity】用2D流体实现在水中添加染料的效果
最终效果图2D流体简单介绍2D流体相关的算法很多,这篇文章主要讲应用层面,因此不对算法做较深的说明。本文流体相关的代码叫Stable Fluids,来自SIGGRAPH的一篇论文。该代码使用的算法为MAC(Marker and Ceil) Grid,它将一个平面分成多个网格,在网格里面计算流体的密度,在网格的边缘计算流体的向量场。我们使用这个算法时,只需要添加染料进密度场,...
2019-01-02 16:23:35
2079
1
原创 自适应哈夫曼编码
网上自适应哈夫曼编码的文章大多来自同一篇,而且在转载的过程中还有一定的错误。花了一天多的时间看懂了自适应哈夫曼编码的原理并且用链式树的结构完成了代码。原理: 自适应哈夫曼树的节点结构体如下:struct Node { int weight; int num; Node* p_left; Node* p_right; Node* p_parent; Node(Node* p...
2018-05-20 13:07:00
12916
14
原创 c++ 指针 数组 数组指针以及const限定符
今天被指向字符串数组的指针怎么写给搞懵了,索性花点时间把一堆指针给梳理了一下。从最简单的开始,指向变量和数组的指针。注释里常指针代表指针本身是常量(网上有各种不同的说法所以我直接用了自己习惯的叫法) /***********单一指针***********/ int a = 1; int b = 2; const int c = 3; int *p1 = &a;//指向变量的变指针,...
2018-04-06 23:55:48
605
1
原创 c++ 输入检测
对于自己编写的小型程序,一般来说不会有输入检测,但是为了以后面向其他人编写大型程序,就必须养成对于每个输入都进行检测保证程序鲁棒性的习惯。以求调和平均数的程序为例:double getAverage(int a, int b);int main(){ int a, b; std::cout << "please input 2 integer(seperated by Spa...
2018-03-22 18:48:10
2880
2D流体算法(C++实现)
2019-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人