cocos creator使用protobuf详细方案

请说下,cocos creator使用protobuf详细方案
最新回答
风月本无界

2024-11-08 01:04:45

protobufjs:6.x.x、7.x.x版本皆可

cocos creator:需使用“导入映射”,建议v3.3及以上版本

node参考版本:v16.15.0

npm参考版本:8.5.5,安装protobufjs或执行脚本时报错,升级至指定及以上版本再试

三、安装protobufjs

package.json中dependencies有指定版本则直接使用npm install,否则使用npm install --save protobufjs

需要注意的是protobufjs7需要单独安装protobufcli(npm install --save protobufjs-cli),protobufjs6则在安装protobufjs时默认集成。

四、构建pb流程

1、提供构建protobuf协议指令

package.json

2、缩减生成单文件大小

--no-verify --no-convert --no-delimited --no-beautify --no-service

移除不需要的内容,需要通过生成带注释的js文件来生成ts,后可再生成一份不带注释的js文件替换

3、修正模块

解决es6规范default无定义的问题;微信小游戏平台生成代码被混淆后可以根据pb对象获得pb名;64位数据支持

4、输出生成pb文件的package.json

五、导入映射

添加文件import-map.json

tsconfig.json修改为

如果遇到找不到模块 "pb"报错:一般为配置未能刷新,重启cocos creator即可

六、使用

安装依赖:npm install

构建协议:npm run buildproto

使用示例(无需主动import,代码提示自动导入即可,对应pb对象也有代码提示):

七、pb工具函数

encode

decode

克隆pb(类似其他语言的CopyFrom)

根据pb对象获得pb名

根据pb名获得pb类型

八、示例工程

CocosCreatorProtobuf