[toc] # C#5.0 async 转换成 C#4.0 原生代码 先去这个网站: https://sharplab.io 然后输入以下代码 using System; using System.Threading.Tasks; public class C { static async Task Main(string[] args) { await StartSilo(); Console.WriteLine("开启CardServer!"); Console.ReadLine(); } private static async...

题记: 起初以为 Actor 是互联网之间通讯的一个解决方案 后来发现 Actor 是为了解决 ` 并发编程 ` 困难的一个解决方案 事实上,Skynet 中的 Actor 本质上就是一个又一个_`Lua 虚拟机`_, 借助 Lua 虚拟机的环境隔离来实现 Actor 的环境隔离,同时又能保证运行在同一个线程中。而 Actor 与 Actor 之间的交互则是通过 ** 链表级的消息队列 **, 应用层面上来讲,借助 Actor 编程模型,可以实现类似于前端的状态机一样的效果, 优化方案则是通过 ** 预创建多个 Actor, 或者 Actor 池 ** 来实现高并发

[toc] # 热更新总流程 首先先把需求拆出来 热更新时我们需要什么? 第一个就是大版本包 大版本包里面需要当前版本内所有的 Assetbundle (如果不需要压包), 当用户下载这个软件的时候,就会自动包含这些包 大版本包也称基础包 第二个就是更新包 如果我们在后期对包内某个资源进行了更新,我们就需要对这个包进行更新 即我们需要将这个包打出来,然后放到文件服务器上 再通过文件服务器的更新资源和本地更新包目录内的的 crc 校验码进行对比来确定需要更新哪些东西 为了让我们调用 ab 包内资源更贴近...

#include<stdio.h> #include<stdlib.h> #include<ctype.h> /* 范式如下: command->expr’\n’ expr->term{’+'term} term–>factor { ‘*’ factor} factor–>‘(’ expr ‘)’ number number–>digit { digit...

在 C 系语言中,struct 占用的内存是连续的,我们可以利用这个 struct分配的内存是连续的 这个特性来实现虚函数表 只需要给每个结构体头部加上一个虚函数表指针就可以了,因为指针在 C 系语言中占用的内存固定八字节,所以我们可以将基类的方法放到基类的虚函数表里 子类继承父类时,让子类实现对应的方法,并把方法绑定到对应虚函数表内的函数指针上,然后除去从父类继承的内存而言,其余的派生方法和参数都是放置在虚函数表内存后面排列 而取派生前面的那串连续的内存,结构上和父类是一摸一样的,所以可以强制转换.(多态) #include<stdio.h> typedef...

之前一直用做的那个状态机运行时,但是做到连招这里时发现总是不能很好地衔接起来,后面查看了一些资料,学了下前摇,后摇,以及它们存在的意义,才明白前摇和后摇本身就是为了能够更顺滑的连招. 然后思考怎么样能够把不同的技能连贯起来,之前想的是角色状态机有很多状态,连击普攻状态,技能状态,等等。但是这样的设计就导致了几个状态之前无法很顺利的切换,所以想到了一个设计模式,命令模式. 即把不同的指令放进一个指令流中,这个指令流根据指令进行排序,(比如大根堆), 堆顶的是当前优先级最高的指令,每次 Tick 时判断是否替换当前指令,至于行为交给指令本身去做,角色控制器不管这个 后摇是当前状态到 Idle...

# 分析 由上图我们可以知道,一个消隐主要分为四个部分 消失边缘 消失内边缘 消失部分 未消失部分 其实很简单,我们只需要一张黑白噪音贴图即可,这张贴图是灰度图,我们用一个参数 **_DisAmount 来代表当前阈值,(取值 0-1), 假设噪音贴图对应 uv 坐标上的数值为 k**, 那么我们就可以判断 (k-_DisAmount) 是否小于 0 如果这个值小于 0, 就认为消失, 否则就根据值的大小来判断是外边元还是内边缘,然后直接着色即可 # 代码 //lit toon dissolve by @minionsart Shader “Toon/Lit Dissolve”...

血条效果 Freya Holmér 的《Shaders for GameDev》 [toc] # 血条渐变 首先我们需要一个参数 (范围限定在 [0-1]),当健康度为 0 时显示红色,健康度为 1 时显示绿色. 然后我们需要血条随着健康度变化 (渐变) 这时候就需要用到渐变贴图. 血条类渐变贴图模板 另外两种渐变图 径向渐变 随角度渐变 通过_Health 得到渐变位置 所有的都基于一个 quad 面片,这个面片的 uv 坐标上有 x 分量,且 x 是 clamp (0,1) 的。所以我们可以通过设置一个 [0,1] 的 float 变量_Health...

两种方式,一个是根据字体的编码范围手动设置,一种是去网络上下载一套字体集 (.txt 的). 图 1. 打开 Font Asset Creator 首先进入 Windows/TextMeshPro/Font Aasset Creator 然后在 Source Font File 上选中自己想转换的字体 以及想要转换的字符有哪些 (Character File) Render Mode 不要选择 Smooth, 选择 SDF (不然会很模糊) 然后 Genrate 就行了

#include<bits/stdc++.h> typedef unsigned char *byte_pointer; void show_bytes(byte_pointer start,size_t len){ size_t i; for(i = 0;i<len;++i){ printf("%.2x “,start[i]); } printf(”\n"); } void show_int(int x){ show_bytes((byte_pointer)...