cocoscreator中使用protobuf(附帶自動轉換工具)

需要的工具

安裝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自動轉換工具

私信我即可獲取 自動轉換工具

往期精彩內容:

TS項目中使用全局變量/對象

虛擬搖桿功能實現

無限滾動背景

子彈追蹤實現

技能cd效果實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章