GameUnity 2.0 文档(一) 事件机制

新版本和旧版本一样,有socket事件和内部事件。区别在于,你只要一个监听就可以

消息协议规则:

用类名标记协议的好处是什么? 是利用反射机制来处理每个消息。

程序启动的时候,会读取所有类名,并字典保存,也就是一次反射,消息传递就不会再次反射获取类了,直接 字典中拿取。这是目前最先进的做法

大家看看一个案例

以上代码是 unity 按钮 发送的 三个 通知服务器事件。

发送规则 是: 协议头 + json内容+消息结尾符(固定的)

大家注意看消息协议头。

服务器 相关的如下:

协议定义的字符串 和 服务器类名是一样的。

我们点击去看看:

这是一个 私聊的协议类,客户端发送私聊后,服务器创建 同样的类名,和继承。就可以在这里进行逻辑操作了。

再看一个服务器类:这个类是用来确定开启,或 客户端发送错误的协议,或内部出错,或客户端关闭。

最后,很多人担心服务器性能好不好,在这里,我不想黄婆卖瓜。客户端我全部重写,粘包异常断开等等都封装好了,用户只要写和服务器交互的逻辑通信就ok了。

最后简单的 互动了一次通信并且 先关闭服务器的测试,当然你们何用测试发错消息,或连续发包等,都是完美的。

多元化的 设计,让你也可以用其他语言 开发服务器,客户端是不用改写的。

事件部分就介绍到这里,文章字数限制,没提到的,可以按照 旧版本那样操作。使用过早期版本的,基本不需要改动,就可以继续开发项目了。

下一篇开始,我将陆续讲解 2.0下的 特别组件。带你玩转 大公司核心技术 一键操作。

。。。。。。。。。。。。。。。。。写在最后,和大家一样,白天工作,利用空余时间编写框架,不足之处难免被 人喷,这也是国情。

百度上 零碎的知识很多,但新人往往不能很好的总结组合,导致学了忘,忘了学。最终也 无法深入做一个东西。

我架构框架的目的是,让零碎的知识组合起来,你只要一行代码,就能实现 别人几十行上百行,甚至更多时间研究苦死的代码。

这个社会真大神其实不多,大部分所谓的大神都是 小白层次太低,而被误导出来的大神,而我的自己的目的,是 为了 成为 大神眼里的 大神。

为此 继续完善框架,继续看更深层次的代码。不以低层次夸赞为喜,不易高层次吝啬而恼,船到桥头 我能行。

时间: 2024-08-05 11:11:07

GameUnity 2.0 文档(一) 事件机制的相关文章

GameUnity 2.0 文档(三) 纸片人八方向

DirectSprite类 有别于 上篇文档出现的 AnimationSprite类 (从头播放到尾) 这个类根据 path的图,如果是 8*8 64个图 八方向,可以设置长宽和 角度 角度 代表 8 个方向. Camera2DAngle类 摄像机 旋转,2d 模仿3d 观察 遍历全身. Move2DAngle 类 八方向寻路 动画控制 //////未完,待续

GameUnity 2.0 文档(二) 纸片人系统

本想快速的 把 之前写的类库,一股脑的 给大家 ,但又觉得,如 msdn那样的 文档,并不能给 初学者 所能接受. 因为 大部分人 对 api 还是比较陌生,也不愿意 去研究和组合. 那么 今天我选用另外一种方式 来 给大家 介绍api,希望大家能学到本领. 今天我给大家 做一个纸片人系统.所谓的纸片人,大家一定不会陌生,最经典的就是 ---三国群英传 你们很难看出,其实他是 2d的,几百人混战的场面,在当时 低端的电脑下面,一点都不逊色.如今 手机 的配置,正如 过去的 低端电脑,他的处理速度

GameUnity 2.0 文档(四) 网格+四叉树 最优碰撞检测

在写之前,必须对 前一篇文档补充一下. Camera2DAngle类是 摄像机旋转 2d人物360度,PlayerMove是人物移动. 这两个类 都可以 360 °  场景旋转人物也跟着旋转. 但不能同时用. 前者更倾向于 不移动的 人物.后者倾向于 移动的人物. 但精度 前者 高于 后者.具体根据项目需求 选择. 今天 介绍的类 CollisionDetection  碰撞检测类 public GameObject GridPrefab;//网格块材料 public int RangeLeng

Beautiful Soup 4.2.0 文档

Beautiful Soup 4.2.0 文档 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 这篇文档介绍了BeautifulSoup4中所有主要特性,并且有小例子.让我来向你展示它适合做什么,如何工作,怎样使用,如何达到你想要的效果,和处理异常情况. 文档中出现的例子在Python2.7和Python3.2中的执行结果相

jQuery文档就绪事件

[jQuery文档就绪事件] 为了防止文档在完全加载(就绪)之前运行 jQuery 代码.如果在文档没有完全加载之前就运行函数,操作可能失败. $(document).ready(function(){ // 开始写 jQuery 代码... }); 简洁写法(与以上写法效果相同): $(function(){ // 开始写 jQuery 代码... }); 参考:http://www.runoob.com/jquery/jquery-syntax.html

【PyTorch v1.1.0文档研习】60分钟快速上手

阅读文档:使用 PyTorch 进行深度学习:60分钟快速入门. 本教程的目标是: 总体上理解 PyTorch 的张量库和神经网络 训练一个小的神经网络来进行图像分类 PyTorch 是个啥? 这是基于 Python 的科学计算包,其目标是: 替换 NumPy,发挥 GPU 的作用 一个提供最大灵活性和速度的深度学习研究平台 起步 PyTorch 中的 Tensor 类似于 NumPy 中的 ndarray(这一点类似于 TensorFlow),只不过张量可以充分利用 GPU 来进行加速计算.

jQuery Colorpicker Spectrum api 中文 文档 属性 事件 方法

jQuery Colorpicker Spectrum 所需的CSS和JavaScript文件: <script src='spectrum.js'></script> <link rel='stylesheet' href='spectrum.css' /> 属性: // Options color: false,//初始化颜色 flat: false,//全尺寸, 定位一个inline-block元素 showInput: false,//显示输入 allowEmp

nodejs 5.2.0文档自翻译——HTTP模块

HTTP Class: http.Agent new Agent([options]) agent.destroy() agent.freeSockets agent.getName(options) agent.maxFreeSockets agent.maxSockets agent.requests agent.sockets Class: http.ClientRequest Event: 'abort' Event: 'connect' Event: 'continue' Event:

小白自学hibernate5.0文档第一季之架构篇

果然,hibernate的底层是由JDBC实现的. --Java Data Base Connectivity,Java数据库连接 --翻译得不到位,敬请批评 Hibernate, as an ORM solution, effectively "sits between" the Java application data access layer and the Relational Database, as can be seen in the diagram above. Th