找回密码
 立即注册
查看: 195|回复: 0

Cocos Creator使用protobuf

[复制链接]
发表于 2023-2-27 11:46 | 显示全部楼层 |阅读模式
# 项目设置

- 使用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();
})
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-27 22:41 , Processed in 0.063631 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表