Cocos Creator使用protobuf
# 项目设置- 使用nvm安装protobuf.js插件
- 下载protobuf.js
- 导入到工程中,并设置为插件
# 使用方法
[*]通过命令pbjs将proto生成js
$> pbjs -t static-module -w commonjs -o compiled.js file1.proto file2.proto
[*]pbts 生成Ts文件
$> pbts -o compiled.d.ts compiled.js
[*]封装发送包
let login = {
userID: 1,
passWord:'000',
limitID:null,
userIP:'',
clientType:null,
clientDetail:null
}
let message = HallPb.loginC2S.create(login)
let buffer = HallPb.loginC2S.encode(message).finish();
console.log("--", buffer)
[*]解析接收包
let demessage = HallPb.loginC2S.decode(buffer)
console.log(demessage)
外部加载方法
将hall.proto 存放在 assets/resources 目录下
cc.loader.loadRes("hall", cc.TextAsset,(err, protos)=> {
if (err) {
cc.log("load proto error ==> ", err)
return
}
let hallCmd = protobuf.parse(protos)
let loginMsg:any = hallCmd.root.lookupType("hall.LoginC2S")
let playerObj = HallCmd.LoginC2S.create(player);
let playerCmd = HallCmd.LoginC2S.encode(playerObj).finish();
})
页:
[1]