正文
我从Cocos2d-x时代就开始用protobuf.js模块来操纵protobuf,此方法
在Cocos Creator
、
Cocos2d-JS
中
同样适用。
安装protobuf.js到项目
注意我们这里使用的是protobuf.js 5.x版本。 虽然protobuf.js目前最新的6.x版本,提供了ts、rpc等功能的支持,但接口变化太大,目前我还不熟练。
安装protobuf.js到全局
使用npm install -g参数将模块安装到全局,主要是方便使用protobuf.js提供的pbjs命令行工具。pbjs可以将proto原文件转换成json、js等,以提供不同的加载proto方式,我们可以根据自己的实际情况选择使用。
下面是demo中定义的Player.proto文件内容
关于proto具体语法细节这里就不多说了,我们重点介绍如何将Player.proto文件中定义的Player对象在JS中实例化、属性赋值、序列化、反序列化操作。
静态语言中使用proto文件
在c++/java这类静态语言中使用protobuf通常是使用官方提供的protoc命令将proto文件编译成c++/java代码,像下面这样: