cocos creator: js中实现protobuf的打包和解析
来源:互联网 发布:协方差矩阵主对角线 编辑:程序博客网 时间:2024/05/16 10:00
首先在Google搜索中找到些相关资料,这里吐槽下百度,用百度真心搜索不到有用的资料,大部分均是广告,不知道作为一个搜索引擎,情何以堪。综合谷歌搜索到的各项资料,将本菜鸟cocos2dx_js集成方式贴出:
1.需要protobuf.js(http://pan.baidu.com/s/1dFfpXsd),bytebuffer.js(http://pan.baidu.com/s/1hs36tUG),long.js(http://pan.baidu.com/s/1slBv57n)文件,此处给出我使用的版本。
2.将此三个文件复制到脚本文件夹下
3.引用 protobuf.js,bytebuffer,js
var ByteBuffer = require("bytebuffer");var ProtoBuf = require("protobuf");4.将protobuf原文件(.proto)复制到项目assets/resources目录下,如果没有resources目录,新建一个即可
5.使用protobuf.js解析proto文件,因为我的原文件放在assets/resources/protobuf/guaji.proto,此处不需要加后缀,cocos2d会自动查找 ,ProtoBuf.protoFromString方法会解析文件生成一个protobuf对象工厂。
var protoFile = "protobuf/guaji"; cc.loader.loadRes(protoFile, function (err, bgTexture2D){ cc.log("loadfinish"); Builder = ProtoBuf.protoFromString(bgTexture2D); });6.拿到工厂之后使用工厂对象生成原文件中数据对象,如果源文件中存在package包名,在创建protobuf对象的时候记得加上包名,此处我的包名为(game.service.data),拿到protobuf对象之后记得使用new创建实例,然后使用set方法即可设置数据
var Message = Builder.build("game.service.data.MsgLoginData"); var loginMessage = new Message(); loginMessage.set("UserAccount","webTest"); loginMessage.set("UserPassWord","123456");7.使用BUFF数据解析生成protobuf数据实例messageBuff为ArrayBuffer对象实例,使用get方法,或直接使用取属性符号(.)即可获取数据
var Message = Builder.build("game.service.data.MsgLoginResult"); var msg = Message.decode(messageBuff);
到此js和protobuf集成基本完成
下篇解释跟websocket集成使用
0 0
- cocos creator: js中实现protobuf的打包和解析
- cocos creator中使用protobuf(dcodeIO/protobuf.js 5.0)
- cocos Creator打包
- Cocos Creator 实现js调用object-c
- Cocos Creator实现的《点我+1》
- cocos creator 中数据储存的坑。。。
- cocos creator 节点和组件的访问
- cocos和creator向量的一些整理
- Cocos Creator的数据管理
- Cocos Creator中获取和加载资源(官方文档摘录)
- Cocos Creator 实现摩天轮效果
- Cocos Creator 实现按钮图标的流光特效(Shader)
- cocos creator(十三)android平台返回键的监听实现
- 微信打飞机游戏(小时候玩的雷电)使用cocos creator制作,讲解具体js代码实现
- cocos creator RPG游戏的背景和节点添加
- Cocos Creator 组件的生命周期和回调函数
- cocos Creator计时器schedule的使用和坑
- 【cocos creator】cocos creator的官网demo小游戏--小星星
- opemcv-计算HOG特征
- tomcat:server.xml配置说明
- 流程控制:while/until循环
- react-native-DrawerLayoutAndroid
- 通过数据库评估存储设备IO性能-Oracle 11g IO校准功能介绍
- cocos creator: js中实现protobuf的打包和解析
- 【打CF,学算法——三星级】CodeForces 689C Mike and Chocolate Thieves (二分)
- 安装Ubuntu14.04的时候提示(为/检查磁盘时发现严重错误)
- Git使用本地仓库之基本操作
- weblogic启动报错javax.xml.parsers.DocumentBuilderFactory
- NYOJ305_表达式求值
- js常用正则表达式
- 自定义view实现涂鸦(画板)功能(二)
- PHP中SESSION与COOKIE的区别与联系