(前提) 工欲善其事,必先利其器. 要想在CocosCreator中使用protobuf,我们首先要安装NodeJs.安装教程可参考Node.js安装及环境配置详细教程_nodejs安装及环境配置-CSDN博客,已经很详细了.NodeJs自带npm, 我们要用npm下载protobufjs.可能你会问npm是什么? npm是NodeJs自带的包管理工具,我们可以使用npm来安装各种各样的包. 给npm配置环境变量(如何配置环境变量请自行查找,资料很多).npm默认安装目录为 C:\Users\Administrator\AppData\Roaming\npm
1. 在cmd中执行如下命令 npm install -g protobufjs
执行成功后,在npm默认安装路径下会出现protobufjs文件夹.
2. 在protobufjs\dist中找到protobuf.js文件,并作为插件拖放到Creator中(注意,必须作为插件,并且是四个选项都必须选中,否则将报错!)
3. 在cmd中执行如下命令 npm install -g protobufjs-cli,执行成功后,在npm默认安装路径下会出现protobufjs-cli文件夹.
4. 准备一个名为message.proto的protobuf文件,内容如下所示.
syntax = "proto3";
package protocol;
option go_package=".;protocol";
//角色对象
message Player
{
optional int64 id = 1;
optional string name = 2;
optional string school = 3; //学校
optional int32 grade = 4;//年级
}
5. 为上面的proto文件生成对应的js文件.(在CocosCreator中新建proto文件夹, proto文件和对应的js文件都放在里面).在cmd中执行如下命令 pbjs -t static-module -w commonjs -o Msg.js message.proto,
6. 上图红框里的Msg.js就是生成的js脚本. 打开Msg.js脚本, 注释var $protobuf = require("protobufjs/minimal"); 改为 var $protobuf = protobuf;
//var $protobuf = require("protobufjs/minimal");
var $protobuf = protobuf;
7. 接下来就是protobuf文件的使用了.在CocosCreator中创建一个脚本挂载在场景上,编写如下代码
var protoAll = require('Msg');
var protocol = protoAll.protocol;
cc.Class({
extends: cc.Component,
properties: {
},
// LIFE-CYCLE CALLBACKS:
// onLoad () {},
start () {
let msg = protocol.Player.create({
id: 666,
name: 'Tom',
school: '家里蹲大学',
grade: 1
});
console.log('msg; ', msg);
let buf = protocol.Player.encode(msg).finish();
console.log('buf: ',buf);
this.scheduleOnce(()=>{
let dec = protocol.Player.decode(buf);
console.log('dec:', dec);
},3);
},
// update (dt) {},
});
打印如上图所示.以上就是protobuf在CocosCreator中的简单使用.
落之