cat
Shioho
8.1k 7 分钟

# 前言 说起网游,多人在线时每个玩家不同的操作是如何同步到不同的机器上的呢,以 MOBA 游戏为例,玩家移动释放技能是如何做到准确一致的,这就涉及到数据同步问题了,这里就简单地讲一讲 LockStep 吧。 # 同步模型 # P2P 再讲帧同步之前,回忆到了小学逃课去网吧(好孩子不要学)打星际的那段时光,那时和朋友开上一排机子,以其中一台主机创建房间,其他机子通过局域网搜索加入游戏,这就是传统的 P2P 模型,将局域网内一台主机当做服务端,负责数据转发给其他连接上的主机,省去了服务器成本,而且数据传输更快。当然,这也是有坏处的,当作为服务端的主机断线了,那么...
4.1k 4 分钟

# 前言 最近又重新学习 Cocos 了,发现几年前写过一片关于 A * 算法的 demo,正好复习一下 A * 算法吧~ # 定义 A * 算法是一种路径搜索算法,是广度优先搜索算法(BFS)的一种优化。 # 广度优先搜索算法 (BFS) BFS 是连通图的一种遍历策略,从原点开始,依次向四周遍历,遍历过的点做个标记,下次不再遍历当前点,从四周遍历点继续往下遍历,直到遍历到目标位置。 作为一种暴力的搜索算法,缺点还是十分明显的,当起始点在左下角,终点在右上角时,BFS 会去搜索全图才能搜索到目标点,这是很低效的一种做法。 # A * 算法 作为 BFS 的一种优化算法,A * 提出了...
3.7k 3 分钟

# 前言 最近接到一个新需求,需要使用 CocosCreator 完成微信小游戏和字节小游戏的代码与资源热更,并完成对应平台的分包需求。好久没碰 Cocos 了,那就来开心的调研一下吧~🙈 # 热更篇 # 代码热更 Cocos 是自带热更解决方案的,详情参考这里。然而,Pay Attention,这里的解决方案是基于原生平台的,即 Android、IOS、Windows 和 Mac。由于微信小游戏是基于微信小程序平台的,微信小程序的 io 与基本文件 io 是不一样的,微信粑粑把你 ban...
6.7k 6 分钟

# 下载与安装 大家可以在 Go 语言官网下载 Windows 系统下的 Go 语言开发包。 下载 Windows 版本的 Go 语言开发包时尽量选择 MSI 格式,因为它可以直接安装到系统,不需要额外的操作。 # Hello World # 脚本 package mainimport "fmt"func main() { fmt.Println("hello,world!")}package 类似于 c# 中的 namespace import 类似于 c# 中的 using #...
1.5k 1 分钟

# 注意事项 # 委托类型的绑定 在主工程中调用热更工程的代码时,需要绑定委托适配器和委托转换器 委托适配器:如果将委托实例传出给 ILRuntime 外部使用,那就意味着需要将委托实例转换成真正的 CLR(C# 运行时)委托实例,这个过程需要动态创建 CLR 的委托实例。由于 IL2CPP 之类的 AOT 编译技术无法在运行时生成新的类型,所以在创建委托实例的时候 ILRuntime 选择了显式注册的方式,以保证问题不被隐藏到上线后才发现。 同一个参数组合的委托,只需要注册一次即可,例如: csdelegate void SomeDelegate(int a, float...