Laya开发-使用protobuf

xzhuan原创稿件,转载请注明出处!

  1. 安装nodejs
  2. nodejs目录创建空文件夹 node_global、node_cache

    Laya开发-使用protobuf
    文章图片
  3. 环境变量配置 npm命令
    2.1 系统变量

    Laya开发-使用protobuf
    文章图片

    2.2 用户变量

    Laya开发-使用protobuf
    文章图片
  4. 在laya工程目录cmd(shift+鼠标右键 选择“在此处打开Powershell窗口”)

    Laya开发-使用protobuf
    文章图片
  5. 在laya工程目录cmd 输入以下命令
    npm install protobufjs@6.8.4 -g
    npm install @egret/protobuf -g
  6. 设置权限
    打开管理员cmd
    输入Set-ExecutionPolicy Unrestricted
    Y
  7. 在laya工程目录cmd 输入命令 生成protobuf文件
    pb-egret add

    Laya开发-使用protobuf
    文章图片
  8. 写一个测试用.proto文件,放在protobuf/protofile文件夹下
    7.1 在laya工程目录cmd 输入pb-egret generate
    然后 修改项目protobuf文件夹下的pbconfig.json如下
    {
    "options": {
    "no-create": true,
    "no-verify": true,
    "no-convert": true,
    "no-delimited": true,
    "no-encode": false,
    "no-decode": false
    },
    "sourceRoot": "protofile",
    "outputFile": "bundles/protobuf-bundles.js"
    }
    7.2 在laya工程目录cmd 再次输入pb-egret generate,得到的文件变小了,不生成一些不使用的方法
  9. 【Laya开发-使用protobuf】Laya中使用库文件
    复制protobuf/library下的protobuf-library.min.js到项目bin/libs下
    复制protobuf/library下的protobuf-library.d.ts到项目libs下
    复制protobuf/bundles下的protobuf-bundles.min.js到项目bin/libs下
    复制protobuf/bundles下的protobuf-bundles.d.ts到项目libs下
    Laya的UI编辑器下,F9,勾选如下

    Laya开发-使用protobuf
    文章图片

    库的顺序一定不能错!!在bin/index.js里查看,要先加载protobuf-library.js,然后再加载protobuf-bundles.js,不然会报错,找不到protobuf.roots初始化对象。
/** * 设置LayaNative屏幕方向,可设置以下值 * landscape横屏 * portrait竖屏 * sensor_landscape横屏(双方向) * sensor_portrait竖屏(双方向) */ window.screenOrientation = "portrait"; //-----libs-begin----- loadLib("libs/laya.core.js") loadLib("libs/laya.html.js") loadLib("libs/laya.ui.js") loadLib("libs/laya.d3.js") loadLib("libs/laya.physics.js") loadLib("libs/protobuf-library.min.js") loadLib("libs/protobuf-bundles.min.js") //-----libs-end------- loadLib("js/bundle.js");

  1. 修改.proto文件后,如何更新
    按照上面的步骤8,从protobuf/bundles复制新的文件到bin/libs和libs目录下

    推荐阅读