いるProtobufでcocosCreatorを使用するのは簡単

いるProtobufでcocosCreatorを使用するのは簡単

プロトファイル形式:

 

pro1.jpeg

準備ツール:

  1. cocosCreator
  2. webStormまたはVSCode
  3. インストールのNode.js
  4. ダウンロードprotobufjs6.8.6

ステップ:

  1. Protobufjsグローバルに取り付け
    -g protobufjsをインストールNPM
    NPMグローバルパラメータに取り付け-gモジュールをインストール使用して、主な目的は、コンビニエンスpbjs protobufjsコマンドラインツールを提供することです。pbjsプロト元のファイルはTSに変換後のjsファイルに、彼らの実際の状況に応じて異なる負荷プロト方法を提供するように、我々が使用することを選択することができ、JS、JSONに変換するだけでなく、PBTSすることができます
  2. ダウンロードprotobuf.jsを探します

\にあるファイルnodejs \ node_modules \ protobufjs \ distの中

 

image.png

Creatorはプロジェクトとインポートプラグインにこのファイルをドラッグします

pro4.jpeg
  1. 保存プロトファイルディレクトリで開くコマンドは、次のコマンドラインを実行します


    pro5.jpeg

pbjsは静的モジュール-w commonjs -o proto.js * -t .proto

このコードは、ファイルproto.jsに.proto内のすべてのファイルであってもよいです

  1. そして、コードディレクトリ内のファイルをproto.js


    pro6.jpeg
  2. いるProtobuf参照内proto.jsを変更します。

pro7.jpeg

いるProtobufは、プラグインとして設定されているので、

  1. あなたはTS形式を使用したい場合はprotobufjs6新機能によって達成することができ
    、次のコマンドを実行します。

PBT -o proto.d.ts proto.js

注:このproto.d.tsは.Dを持っている必要があります

今のスタイルコードのディレクトリ構造は、あります

pro8.jpeg
  1. テスト使用:
pro9.jpeg
pro10.jpeg
pro11.jpeg
pro12.jpeg

经过测试在手机上也是可以正常运行的

第二种方式:

由于现在工程中使用的TS,为了有更好的效果,所以还有另一种方式来依赖protobufjs6

1.安装protobufjs到全局

npm install -g protobufjs

使用npm install -g 参数将模块安装到全局,目的主要是方便使用protobufjs提供的pbjs命令行工具。pbjs可以将proto原文件转换成json、js等,以提供不同的加载proto的方式,我们可以根据自己的实际情况选择使用,还有pbts,用来将转化后的js文件转为ts

  1. 打开工程目录执行命令行:

npm init

执行后一路回车会在工程目录下生成package.json

  1. 在工程目录中执行命令行:

npm install protobufjs

会生成protobufjs的依赖库

pro13.jpeg

4.在保存proto文件的目录下打开命令行执行如下命令

pbjs -t static-module -w commonjs -o proto.js *.proto

pro14.jpeg

这句代码可以将文件中所有的.proto文件转化为一个proto.js文件

pro15.jpeg

这个不用修改proto文件

6.如果想使用TS格式可以通过protobufjs6新功能来实现
执行如下命令:

pbts -o proto.d.ts proto.js

注意:这里proto.d.ts一定要有.d

现在代码目录结构的样式就是这样的

pro16.jpeg

然后就可以使用了,而且代码提示很友好~

pro17.jpeg
pro18.jpeg

如果有问题请参考这些网址:

https://www.jianshu.com/p/1b90dd4bcb0a

http://forum.cocos.com/t/cocos-creator-protobufjs-ts/47687

https://www.jianshu.com/u/ba2c5d0f4939

 

来源:https://www.jianshu.com/p/f727f78dcc76

 

おすすめ

転載: www.cnblogs.com/gao88/p/11701320.html