附上自己的一些理解: 先考虑需要实现的基本功能: 在任意一个地方增加一个消息的listener,则当这个消息被broadcast的时候,所有的listener都应该收到。考虑到delegate(我的理解是本身就是为实现观察者模式而出现的类),另外有个dict保存消息名和Delegate的对应。 定义一个static消息类Messenger。 1 static in
转载
2024-08-11 20:26:48
55阅读
在windows系统上,进程间通信是一种很古老,很成熟的技术了,但是遇到unity这种技术就有点不好使了。最近项目需要进程间通信,我试了很多方法就是不好使,最后只能用socket。我用到的通信方式有以下几种: 一、管道通信,命名管道在.net里可以做全双工通信,但是到unity里只能是单工通信。还是只能完成收,时不时的收到空消息。 二、消息队列,这种方式纯粹是不好使。 三、IPC通道的方式,
转载
2024-06-09 08:10:09
190阅读
前几篇内容,分别阐述了Unity中实现Tcp通讯的客户端、服务端的实现以及引入ProtoBuf进行数据序列化的方式。这篇来写一下心跳机制。 在第二篇内容中,对于客户端是否断开连接,是通过判断接受到的数据流是否是空来判断连接是否断开。代码是这样的:int length = m_Socket.EndReceive(ir);
if(length < 1)
{
IPEndPoint
转载
2024-04-28 07:42:38
163阅读
注:Unity 5.1里引入了新的网络框架,未来目标应该是WOW那样的,现在还只是个P2P的架子。 网络的框架,无非是如何管理网络数据的收发,通信双方如何约定协议。之前做的框架与GameObject无关,网络是看不到GameObject这一层的,看到的是事务,比如例如进入场景等。在Unity里,GameObject自己可以有网络数据的处理能力,网络行为基于GameObject搭建。最大的不同
转载
2023-08-30 08:10:57
109阅读
1、中央事件总线bus 2、父链 注:尽量少用,父子组件最好通过props和$emit来通信。 3、子组件索引 注:仅仅作为直接访问子组件的应急方案,避免在模板或者计算属性中使用$refs.
转载
2017-12-18 16:00:00
247阅读
2评论
PUN简单介绍:Photon引擎属于Exit Games公司,是世界排名第一的独立网络引擎和多人通信平台,适用于独立开发者和专业工作室Photon引擎具有通信快速、高可靠性、使用方便、容易扩展等优点针对Unity网络游戏开发,Photon引擎是首选服务器引擎PUN网络连接状态:PUN具体操作:在官网中下载PUN2,导入Unity(Unity版本必须在2018以上)Multiplayer Game
转载
2024-01-17 12:18:15
80阅读
由于很多的因素,项目改用U3D开发,而项目组目前为止没资深的Unity开发程序员,只能摸着石头过河了.我们网络通信数据使用protobuf的格式,(关于这protobuf的格式分析在上一篇笔记中已经分析得很详细了).简单说明一下目前项目的开发环境与插件的使用情况:开发脚本: C# (.Net 2.0) 由于我与另一位同事均无C#功底,所以业余时间学习C#必不可少,本人而言已经有了基本的计划.(为
转载
2024-05-30 23:19:08
141阅读
编写WP插件 首先创建一个空白solution,我给他起名叫 PettoStudio.WP.Plugins,你可以随意了。步骤看图就好了: 然后确定,进入一个没有工程的空白解决方案。右键solution->添加->新建项目->找到wp的工程模板(因为vs2012跟2013不一样,没法文字详述)->选择wp的类库工程。 工程名随意,建议与刚刚的solution一致就行了,不过
转载
2023-07-29 12:03:02
139阅读
1.单例模式using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 脚本单例类
/// </summary>
/// <typeparam name="T"></typeparam>
public class Mo
转载
2024-08-27 22:40:26
68阅读
UI应该是一个独立的模块 需要与其他模块之间低耦合,或者0耦合。稍微简述一下解耦和利弊:解耦通常的方案是用消息通讯机制来传递事件和数据。 比较好用的方案 可以搜索看看 CSharpMessenger 实现原理其实很简单,很多文章都有。 是用一个 唯一key对应delegate,保存在字典里。用的时候,找到key,Invoke对应的delegate就可以了。解耦的弊端: 那带来的问题是 逻辑的断层,
转载
2024-08-12 18:00:13
51阅读
学更好的别人,做更好的自己。——《微卡智享》本文长度为2341字,预计阅读6分钟前言上一篇《Unity3D网络通讯(四)--Socket通讯之Tcp通讯》我们把Tcp的通讯已经说完了,这篇主要说说Udp的通讯,相对于Tcp通讯,个人觉得Udp通讯要简单的很多,UDP协议传送数据时,由于UDP的面向无连接性,不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议。Udp通讯 微卡智享后台服
vue组件件数据参数传递 父子之间传递 使用props由父级传递给子组件 使用$emit由子级触发父级的回调函数,并传递参数 子孙组件传递 1,简单粗暴使用父子传递套娃,这种粗暴的方式会导致中间的组件多出许多无用的属性以及回调函数 2,使用$attrs与$listeners 祖 -> 孙 在祖组件传 ...
转载
2021-08-28 16:46:00
166阅读
2评论
vue,react,微信小程序vue自定义组件使用脚手架配置组件template script styl
原创
2022-08-19 11:26:54
92阅读
前言:组件化是安卓目前很流行的一门技术,其目的是避免复杂的业务逻辑交织到一起,相互影响。通过解耦,让每个子项目都是一个独立的工程,即使其余模块出现问题,也不会影响这个子模块的运行。一.为什么要实现通用接口实现类的解耦我们首先抛出第一个问题,什么要实现通用接口实现类的解耦?不解耦可以吗?既然这样,那我们先来看一下如果不实用APT解耦,我们该怎么做?举一个现实的场景:应用启动时,各个模块需要初始化。首
转载
2023-10-12 17:38:06
170阅读
如果你接触过《设计模式》、软件架构的编程思想,就会知道优秀的设计准则:“组合优于继承的”。 这句话很简短,但开始学习OOP的时候,真切的是—-不太好理解(以我个人当初学习为例)。 OOP的继承思想在设计主角(Player)的时候,为了能够复用A、B、C的功能,我开始把A、B、C按照继承来写,多了一些Virutal\Overrid
转载
2024-08-20 16:58:19
64阅读
unity版本:4.5 NGUI版本:3.6.5 参考链接:http://tieba.baidu.com/p/3206366700,作者:百度贴吧 水岸上 动态载入NGUI控件,这里用Panel为例说明。1、如何创建NGUI控件的预设: 在要保存prefab文件的目录下鼠标右键Create Prefab,保存预设名字,然后直接把Hierarchy中的控件拖到预设中即可;2、实现Panel
转载
2024-04-18 12:49:57
252阅读
一.Transform组件整个场景由节点树组成。节点+Transform组件,每个Transform有自己的孩子Transform,由Transform组成Transform树,而每个Transform组件指向一个节点,看起来就像是节点组成了节点树,其实都是Transform组件在组成。 二.Mesh Renderer组件,网格材质绘制器红色的立方体,1.轮廓。由
转载
2024-05-03 13:26:54
87阅读
1;什么是Unity webGLwebGL 的编译选项允许unity发布像使用了HTML5和webGL渲染API技术来使unity程序可以跑在浏览器中的javascript 程序。想要编译和测试WebGL程序,只需要在Build Playersetting里选择WebGL编译平台即可。 2:unity是怎么样发布为webGl程序的 为了运行webgl,需要我们的所有代码都是采用
转载
2024-06-06 06:35:08
434阅读
最近看了下关于unity的网络模块netwrok即将淘汰,思索了下准备自己用socket去封装个局域网的通讯插件看了一下关于同步问题https://www.jianshu.com/p/fbd8eda9df62然后局域网游戏,外挂基本上靠的是玩家自觉,而且也不需要自己搞个服务器房间系统:房主是服务器也是客户端随机数的生成保持一至:统一的随机种子(并且要保持种子的调用次数一至)连接后玩家操作通讯只发送
转载
2024-01-01 12:05:36
18阅读
unity 版本是5.5,不过看了2017的文档好像也是差不多,绝大部分都是根据官方文档,希望有帮助,如果有错误或者你知道更多这方面的只是,请告知下,大恩言谢。 1:对webgl发布的工程文件说明
在release文件夹中,如果你使用了gzip压缩,那么你的文件后面会有个.gz
2:如何在