- 博客(17)
- 资源 (3)
- 收藏
- 关注
原创 解析proto文件,生成协议号工具
说明:避免了手写协议号,解析proto文件,自动生成协议号cs文件,提供unity项目使用原理:逐行读取proto文件,判断首行是否设置@protocol_id_start =xxx字段,以该字段号作为协议起始 ,自加生成协议号用template模板生成csharp文件ps:设置protocol_id_start字段的目的是proto中会有非通信的消息结构,这些结构并不会参与通信,仅与业务逻辑相关,比如 玩家信息/邮件信息/装备信息等 这些结构建议统一放入...
2021-04-20 17:26:54
2092
原创 redis本地搭建和阿里云部署
window本地部署:1. 官网下载redis2. 解压3. 在解压目录下打开cmd命令行 执行 ./redis-server.exe redis.window.conf4. 请勿关闭该命令行, 另外打开新的cmd命令行 , 执行 ./redis-cli.exe -h 127.0.0.1 -p 63795. 读写测试…阿里云centos远程部署:安装gcc用于...
2019-03-25 23:59:39
703
原创 游戏后台管理总结
在游戏准备小范围测试时,需要一个简单的后台管理来操作管理玩家的游戏数据.作为独立游戏小作坊,环视一周包括我在内的技术全是u3d狗,正好手头的事儿相对少,因此我主动"请战"撸开袖子干,反正技多不压身红红火火恍恍惚惚~~~经过2周左右的边学边撸,后台管理基本完成.以下记录开发过程和遇到的问题.首要考虑的就是技术选型了.后端方面果断决定golang语言,类c跨平台高性能天然支持...
2019-03-07 18:43:29
11204
5
原创 Jquery ajax使用详解
使用ajax需要在网页中导入 jquery文件 可以通过cdn获取或者下载源文件到网站目录 Get方式:函数: $.get(url [,data] [,success] [,dataType])参数: url:请求地址 data:参数(可选) success:请求成功回调函数(可选) ...
2019-02-26 20:33:42
255
原创 使用golang写的错误码生成工具
工具说明:游戏服务端采用golang语言, 而前端unity是csharp. 在定义通信消息错误码时, 为了避免前后端不一致同时不用写2份错误码枚举文件的麻烦.统一把错误码定义写在文本文件中,使用该生成工具生成对应的cs和go文件供c/s端用. 错误码定义的文本文件结构: 最终生成的cs文件:生成的go文件:下面贴入golang源码: package mai...
2019-02-13 14:58:20
938
原创 [工具集]gif导出序列帧工具
把gif导出成序列帧图片.基于qt编写,暂不支持批处理,工程不知道去哪了...效果:下载:https://pan.baidu.com/s/1EvvipOOcJlaGzaUDj3iByQ提取码:zmzbps:提示缺少xxx.dll文件 请下载安装c++ 运行环境:https://pan.baidu.com/s/1IIis8_VQ7nMNxV70EY6RRA也可自行在微软官网下...
2019-02-13 14:54:55
3417
2
原创 [工具集]等比序列帧图片切割工具
快速对图片进行等比裁剪,导出分类好的文件夹.工具基于Qt编写,因为代码不知道放哪了,暂不支持批处理操作效果:下载: https://pan.baidu.com/s/1gvGvLVPABNuZ1tWuECE2bQ提取码:ihdgps:提示缺少xxx.dll文件 请下载安装c++ 运行环境:https://pan.baidu.com/s/1IIis8_VQ7nMNxV70EY6RR...
2019-02-13 14:52:45
2990
2
原创 触发性引导功能实现
思路进入游戏后 发送消息 通知引导管理器检测 所有引导是否完成 如果完成 引导管理器注销消息 如果未完成 检测当前是否有满足触发条件的引导 如果有 解析引导参数列表 生成步骤队列 打开引导界面 并顺序执行步骤队列 引导步骤用于实现不同执行动作:ItemMaskStep - 查找控件,设置遮罩,点击该控件 通知引导管理器执行下一个步骤CloseViewStep - 关闭ui,避免u...
2019-02-13 14:49:34
496
原创 向量的常用计算公式
在3d数学中,不用关心向量的数学意义,只关心向量的几何意义.向量v={x,y,z} , w={a,b,c}1. 向量变负 结果:-v = {-x,-y,-z} 几何意义:得到一个方向相反,大小相等的向量 2. 向量的模(向量的大小或者向量的长度) 结果: |v| = √(x)*2 + (y)*2 + (z)*2 几何意义:得到向量的长度3....
2019-02-13 14:44:13
38623
原创 关于OpenGL 术语的一些基本概念
什么是Shaders?简单的说,shader就是一段GLSL小程序,它运行在GPU上而不是CPU上。它使用opengl shading language语言编写。C++与shader比较图:Vertex Shaders [顶点着色器]vertex shader主要用来将点(x,y,z坐标)变换成不同的点。Fragment Shaders[片段着色器]fragment shad...
2019-02-13 14:34:16
236
原创 UGUI引导遮罩实现
思路:1.显示上用一个全屏的灰色Image 作为遮罩体, 获取目标控件的位置和大小数据后,重新组织遮罩的网格数据把目标控件的部分剔除,形成镂空;2.点击事件 根据点击位置 判断 是否在目标控件的矩形中,如果在矩形中事件穿透下去传递给目标的控件 , 如果不在拦截该点击事件,让事件无效;先来实现1的效果:unity的UGUI 控件都是继承至UnityEngine.UI.Graphic这个基...
2019-02-13 14:27:49
1013
原创 unity简单易懂的版本对比和资源更新
项目中没有使用lua脚本,所以热更只能资源更新,一旦逻辑代码上有改变,需要玩家自行更新游戏客户端.本人把公司项目中的更新模块精简了下,还是画张流程图解释:一般资源打入安装包有3种情况:1.安装包没有资源,进入游戏后资源全部从资源服务器下载. (包体最小 ,但第一次进入游戏耗时最长)2.安装包有部分资源,剩余的资源还是从服务器下载. (包体介于1-3之间...
2018-11-23 11:21:52
7969
13
原创 写一个unity加载资源管理器
需求:1.能切换不同加载模式 开发阶段编辑器运行直接加载资源无需打ab包 测试或正式发布阶段通过ab包加载资源2.缓存机制 能定时清理长时间未使用的资源内存3.既有同步加载 也有异步加载 思路:加载模式可以使用一个全局枚举变量控制资源管理器中 包含不同的加载器 每个加载器都有同步和异步加载方法 要加载资源时调用资源管理器,管理器查询资源是否在缓存中,...
2018-11-21 19:49:22
2854
7
原创 角色属性的存储结构
rpg项目中角色属性多种多样,策划脑洞多大,属性就有多少种.所以用一个变量存一条属性这种方式在项目中肯定会被老大骂(当然小游戏无所谓了).不可取:public class ActorData{ public int Hp; public int Mp; public int Def; ...}要保证灵活和扩展性,我使用了字典的方式存储定义属性枚举...
2018-11-16 15:44:28
880
1
原创 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
353
原创 Unity中消息派发系统的总结(1)
消息派发对项目中各个功能模块的解耦非常有帮助,免去模块间复杂的调用.但unity自带的消息函数SendMessage效率一直都不高,所以基本上项目中都很少用它,而是自己写一套消息派发. 消息派发原理简单:订阅发布模式.各模块需要注意哪些消息就订阅哪些消息[比如我定了报纸,而我邻居定了牛奶]消息派发者会保存对应的订阅者信息[这个消息派发企业业务很广泛,既有报纸也有牛奶]业务逻...
2018-11-15 23:57:51
2050
8
原创 [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
3303
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人