中文
resource-icon
protobuf-creator v1.2.1
类别
Creator扩展 插件
作者
Devman
Creator版本要求
v3.0.0
支持平台
AndroidiOSHTML5
评分
售价
¥ 9.90 (个人)

介绍

Protobuf Creator

简要概述

protobuf creator 是基于 protobufjs 库,针对 Typescript 语言,简便、快速生成 protobuf 静态文件的小工具

功能列表

  • 生成静态 javascript 文件和 typescript 描述文件
  • 可调整生成文件包含方法,从而减小文件大小
  • 可递归读取指定目录下符合条件的 proto 定义文件
  • 可监控指定目录下文件变化,从而实时更新生成文件

使用方法

  1. 先导入 protobufjs 库文件设置为插件,并允许在编辑器环境加载
  2. 然后选择 proto 定义文件所在目录并执行生成文件操作,将生成文件设置为插件,不要勾选编辑器运行选项
  3. 在 ts 文件中直接调用静态文件的 encode 和 decode 方法即可

示例代码

  • test.proto 文件,如有多个文件建议定义一个统一的包名
syntax = "proto3";

package test;

message Say {
    int32 i32 = 1;
    int64 i64 = 2;
    string str = 3;
}
  • test.ts 文件,挂载在场景中
export default class Test extends cc.Component {

    start () {
        //编码
        const msg = test.Say.encode({str: "hello world", i64: 100, i32: 10}).finish();
        console.log(msg);
        //解码
        const hello = test.Say.decode(msg);
        console.log(hello);
    }
}

支持引擎

  • Cocos Creator 2D v2.4.0+
  • Cocos Creator 3.0+

依赖环境

已安装 nodejs,并正确设置了环境变量

安装方法

从2D 和 3D 插件商店下载并安装

技术支持

如您使用过程中遇到问题,欢迎您随时反馈给我。

用户评分

平均评分
(4)
共有 3 位用户参与评分

评论

abcl 2022-07-15 16:30

下载不了[Window] The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received null

作者

下载不了可以找官方客服看看是不是商店又出了问题,或者给我留邮箱我直接发你

elfhuv 2022-07-13 09:53

使用没那么顺畅 教程不够清晰 还没用成功:(

作者

可以看看视频的操作步骤,我刚用3.5.2版本测试了一下,除了会提示electron的remote需要替换外,还是可以正常生成编译文件,最近较忙就先不升级了,你在论坛里的截图我看了,少了一个dts文件,可能是环境问题,我目前没时间帮你调试环境了。

ggtry 2022-07-06 17:06

在编辑器中,用模拟器运行的时候,long和buffer 找不到 ERROR: Uncaught Error: Failed to require file 'buffer', not found!, location: (no filename):0:0 ERROR: Uncaught Error: Failed to require file 'long', not found!, location: (no filename):0:0 请问这个怎么解决啊

作者

模拟器就暂时先别用了,我本机起不来模拟器也查不了原因,用浏览器还是比较方便的,还有其他的插件可以查看节点情况的,可以考虑用一用

chenjinglei 2022-07-01 01:40

这怎么一直提示找不到proto文件

作者

你用的哪个引擎版本

cloudezi 2022-05-26 19:46

大神,请问我用插件把.proto文件转化为.ts时,转化出来的.ts文件有错是为什么?比如我本来是个FrameHandle的message,转出来的ts文件里却是export class FrameHandle implements IFrameHandle

作者

把你报错的proto 发给我测试一下 devman@foxmail.com

左手啪啪 2021-12-28 23:04

Failed to resolve file:///C:/Users/Administrator/Desktop/test/NewProject_2/assets/protobuf.js from cce:/internal/x/prerequisite-imports, treat it as external dependency. [Window] 执行完成 Failed to resolve file:///C:/Users/Administrator/Desktop/test/NewProject_2/assets/proto.js from cce:/internal/x/prerequisite-imports, treat it as external dependency. 我这边一直提示这个错误

作者

你用的哪个引擎版本?

zzt0123 2021-11-30 15:13

The code generator has deoptimised the styling of undefined as it exceeds the max of 500KB. 生成的d.ts 超出文件最大限制了 请问有办法单个proto生成单个类和d.ts 吗?

作者

我查看protobuf的官方文档并没有找到相关设置,看来你只能把proto文件拆开编写或者你再查查看是否有其他解决方案

imeka 2021-11-11 17:33

map类型是不是不能用? 编码或解码出来的对象都是空的

作者

https://www.npmjs.com/package/protobufjs 官方文档里已经列了支持的类型

zzt0123 2021-11-09 16:06

请问 google.protobuf.Any类型怎么解析的

作者

这个插件的功能是导入protobufjs库,生成文件步骤也是调用的protobufjs库,并未做自定义解析

mingzx3 2021-10-10 13:13

Could not read source map for http://localhost:7456/plugins/assets/plugins/protobuf.min.js: Unexpected 404 response from http://localhost:7456/plugins/assets/plugins/protobuf.min.js.map: Error: ENOENT: no such file or directory, stat 'E:\Diudiupai\assets\plugins\protobuf.min.js.map' 按照步骤设置库文件为插件,但是一运行就报这个错误

作者

把sourcemap关了

  • 1
  • 2
  • 3

2020 © Cocos.com版权所有

增值电信业务经营许可证:闽B2-20160169

闽ICP备14002653号-6

闽公网安备 35020302033941号