CocosCreator protobufjs搭建
2017-09-21 09:56
423 查看
如果从来没有使用过protobufjs的同学,建议去官网的github上看一下的里面的Examples(打开网站后,ctrl+f这样搜会比较快)。
这之后,需要把xxx.proto文件放到resources文件夹下,因为这个要动态加载。
至于网上的一些文章,说的是proto2.0的版本,但是现在基本上都是用3.0,接口不一样。
如果项目只需要建立在网站上,而不需要打包成app,那可以用
来解决。
我的文件是放在resources下的proto文件夹里。
如果需要打包成原生app,则:
总的来说,还是第二种方法全面。
文章参考:http://forum.cocos.com/t/cocos-creator-protobuf/48467
这之后,需要把xxx.proto文件放到resources文件夹下,因为这个要动态加载。
至于网上的一些文章,说的是proto2.0的版本,但是现在基本上都是用3.0,接口不一样。
如果项目只需要建立在网站上,而不需要打包成app,那可以用
function callback(err, root) { }; var url = cc.url.raw("resources/proto/addressbook.proto"); protobuf.load(url, callback);
来解决。
我的文件是放在resources下的proto文件夹里。
如果需要打包成原生app,则:
var url = cc.url.raw("resources/proto/addressbook.proto"); cc.loader.load(url,function(err,tex){ var protobuf = require('protobufjs'); var pr = protobuf.parse(tex); var Person = pr.root.lookup("com.protobuf.Person"); var PhoneNumber = pr.root.lookup("com.blst.protobuf.Person.PhoneNumber"); var phoneNum = PhoneNumber.create({number:"13811113369"}); var message = Person.create({ name: "names", id: 100001, phones:[phoneNum] }); var buffer = Person.encode(message).finish(); var message1 = Person.decode(buffer); cc.log(" number = " + message1.phones[0].number); }); 下面是proto 内容 syntax = "proto3"; package com.protobuf; message Person { string name = 1; int32 id = 2; string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { string number = 1; PhoneType type = 2; } repeated PhoneNumber phones = 4; }
总的来说,还是第二种方法全面。
文章参考:http://forum.cocos.com/t/cocos-creator-protobuf/48467
相关文章推荐
- cocos Creator protobuf接入
- 当creator遇上protobufjs|结晶
- cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建
- cocosCreator-js客户端+pomelo服务端搭建聊天系统
- 在TS语言H5项目中使用Protobufjs(一) - Egret白鹭引擎篇
- 《从零开始搭建游戏服务器》 Protobuf读取Excel表格数据
- cocos - js (v3.12) 搭建技术文章
- libevent和protobuf搭建 socket server
- 在TS语言H5项目中使用Protobufjs(二) - Layaair腊鸭引擎篇
- protobuf-IOS简单总结(编译、环境搭建)
- 使用cocoscreator + node.js + websocket实现简单的聊天服务
- IOS ProtoBuf 环境搭建
- 在node中使用protobuf.js
- netty与protobuf与node.js
- WebSocket中关于使用ProtoBuf传输数据介绍js部分
- protobuf搭建环境,序列化示例
- 跟着BOY 学习COCOS2D-X 网络篇---强联网(采用技术 BSD SOCKET+多线程技术 +protobuf)(环境搭建篇+服务器)
- 【原码笔记】-- protobuf.js 与 Long.js
- go的protobuf环境搭建
- Cocos Creator JS 获取当前日期与时间