![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
unity
文章平均质量分 68
wyc_fox
blog:http://guyuemumu.com
展开
-
解析proto文件,生成协议号工具
说明:避免了手写协议号,解析proto文件,自动生成协议号cs文件,提供unity项目使用原理:逐行读取proto文件,判断首行是否设置@protocol_id_start =xxx字段,以该字段号作为协议起始 ,自加生成协议号用template模板生成csharp文件ps:设置protocol_id_start字段的目的是proto中会有非通信的消息结构,这些结构并不会参与通信,仅与业务逻辑相关,比如 玩家信息/邮件信息/装备信息等 这些结构建议统一放入...原创 2021-04-20 17:26:54 · 1696 阅读 · 0 评论 -
[Unity3d]基于UGUI写的Joystick
翻蛮牛看到一篇ugui实现摇杆的文章,我在它的基础上做了扩展,能够像EasyTouch一样派发 begin,moving,end 事件,并且 在按住摇杆的情况下也能持续调用moving 事件。参考:http://www.manew.com/thread-98879-1-1.htmlJoyStick.cs代码:using UnityEngine;using Syst原创 2017-01-02 14:59:00 · 3249 阅读 · 0 评论 -
Unity中消息派发系统的总结(1)
消息派发对项目中各个功能模块的解耦非常有帮助,免去模块间复杂的调用.但unity自带的消息函数SendMessage效率一直都不高,所以基本上项目中都很少用它,而是自己写一套消息派发. 消息派发原理简单:订阅发布模式.各模块需要注意哪些消息就订阅哪些消息[比如我定了报纸,而我邻居定了牛奶]消息派发者会保存对应的订阅者信息[这个消息派发企业业务很广泛,既有报纸也有牛奶]业务逻...原创 2018-11-15 23:57:51 · 1963 阅读 · 8 评论 -
Unity中消息派发系统的总结(2)
接上篇Unity中消息派发系统的总结(1)继续实现第二种:消息派发类[MsgDispatcher2.cs]public class MsgDispatcher2{ private Dictionary<string, Delegate> m_Msgs = new Dictionary<string, Delegate>(); priv...原创 2018-11-16 11:00:18 · 319 阅读 · 0 评论 -
角色属性的存储结构
rpg项目中角色属性多种多样,策划脑洞多大,属性就有多少种.所以用一个变量存一条属性这种方式在项目中肯定会被老大骂(当然小游戏无所谓了).不可取:public class ActorData{ public int Hp; public int Mp; public int Def; ...}要保证灵活和扩展性,我使用了字典的方式存储定义属性枚举...原创 2018-11-16 15:44:28 · 795 阅读 · 1 评论 -
写一个unity加载资源管理器
需求:1.能切换不同加载模式 开发阶段编辑器运行直接加载资源无需打ab包 测试或正式发布阶段通过ab包加载资源2.缓存机制 能定时清理长时间未使用的资源内存3.既有同步加载 也有异步加载 思路:加载模式可以使用一个全局枚举变量控制资源管理器中 包含不同的加载器 每个加载器都有同步和异步加载方法 要加载资源时调用资源管理器,管理器查询资源是否在缓存中,...原创 2018-11-21 19:49:22 · 2779 阅读 · 7 评论 -
unity简单易懂的版本对比和资源更新
项目中没有使用lua脚本,所以热更只能资源更新,一旦逻辑代码上有改变,需要玩家自行更新游戏客户端.本人把公司项目中的更新模块精简了下,还是画张流程图解释:一般资源打入安装包有3种情况:1.安装包没有资源,进入游戏后资源全部从资源服务器下载. (包体最小 ,但第一次进入游戏耗时最长)2.安装包有部分资源,剩余的资源还是从服务器下载. (包体介于1-3之间...原创 2018-11-23 11:21:52 · 7504 阅读 · 13 评论 -
UGUI引导遮罩实现
思路:1.显示上用一个全屏的灰色Image 作为遮罩体, 获取目标控件的位置和大小数据后,重新组织遮罩的网格数据把目标控件的部分剔除,形成镂空;2.点击事件 根据点击位置 判断 是否在目标控件的矩形中,如果在矩形中事件穿透下去传递给目标的控件 , 如果不在拦截该点击事件,让事件无效;先来实现1的效果:unity的UGUI 控件都是继承至UnityEngine.UI.Graphic这个基...原创 2019-02-13 14:27:49 · 950 阅读 · 0 评论 -
触发性引导功能实现
思路进入游戏后 发送消息 通知引导管理器检测 所有引导是否完成 如果完成 引导管理器注销消息 如果未完成 检测当前是否有满足触发条件的引导 如果有 解析引导参数列表 生成步骤队列 打开引导界面 并顺序执行步骤队列 引导步骤用于实现不同执行动作:ItemMaskStep - 查找控件,设置遮罩,点击该控件 通知引导管理器执行下一个步骤CloseViewStep - 关闭ui,避免u...原创 2019-02-13 14:49:34 · 461 阅读 · 0 评论