需要的工具:
安裝node.js nodejs地址
下載protobufjs protobufjs地址
操作:
1.安裝protobufjs到全局
npm install -g protobufjs
將模塊安裝到全局方便全局使用protobufjs提供的pbjs命令行工具。
pbjs可以將proto原文件轉換成json、js
pbts,用來將轉化後的js文件轉爲ts
2.把下載好的protobuf中這個文件夾下的protobuf.js文件 把這個文件拖到Creator工程中並且導入爲插件
3.創建.proto消息文件
package ntesgame;
message Register {
required string userId = 1;
repeated string deviceId = 2;
option string userToken = 3;
}
ntesgame 是包名,轉換成js 或ts 後就是 命名空間
Register 是 消息結構
required 是 必須有的變量
4.在保存proto文件的目錄下打開命令行執行如下命令
將文件中所有的.proto文件轉化爲一個proto.js文件)
pbjs -t static-module -w commonjs -o proto.js *.proto
將proto.js文件 轉爲 proto.d.t文件
pbts -o proto.d.ts proto.js
5.protobuf設置爲插件後 修改proto.js中protobuf的引用
6.然後把proto.js 或 proto.d.ts文件放入項目代碼目錄中 即可
7.測試
@ccclass
export default class NewClass extends cc.Component {
// LIFE-CYCLE CALLBACKS:
// onLoad () {}
start () {
let msg = ntesgame.ClientRegister.create({userId:"123",deviceId:"22",userToken:"ff"})
let encode = ntesgame.ClientRegister.encode(msg).finish();
console.log("編碼:",JSON.stringify(encode))
this.scheduleOnce(()=>{
let decode = ntesgame.ClientRegister.decode(encode)
console.log("解碼:",JSON.stringify(decode))
},3)
}
// update (dt) {}
}
測試結果:
福利: protobuf自動轉換工具
私信我即可獲取 自動轉換工具
往期精彩內容: