手把手教学:在Cocos Creator中快速接入Protobuf

1. Protocol Buffers (Protobuf)是什么?

1.1 是什么?
Google 开发的 高效二进制数据序列化格式,用于结构化数据存储/传输。
特点:体积小、速度快、跨语言、可扩展。
1.2 核心用途
网络通信:游戏客户端与服务器数据传输。
数据存储:高效存储结构化数据(如存档)。

2. 在cocoscreator中使用protobuf

1.安装与配置(项目本地化)

# 在项目根目录(与 assets 同级)执行
npm install protobufjs --save

protobufcli(npm install --save protobufjs-cli)

#不想全局安装,可通过项目本地 npx 调用
npm install protobufjs-cli --save-dev
# 使用 npx 运行
npx pbjs -t static-module -o bundle.js *.proto

# 如果想使用指定版本,需卸载当前版本
npm uninstall protobufjs
# 然后重新安装指定版本
npm install protobufjs@版本号.x

注意
1.安装后package.json查看对应版本

"dependencies": {
    "protobufjs": "^6.11.4"
  }

2.编写 .proto 文件(player.proto)

syntax = "proto3";  // 指定使用 proto3 语法(必须)

// 定义消息(Message)
message Player {
  uint32 id = 1;     // 字段格式:类型 字段名 = 标签号(必须唯一)
  string name = 2;
  repeated string items = 3;  // repeated 表示数组/列表
  Position pos = 4;       // 嵌套消息

  // 枚举类型
  enum Status {
    OFFLINE = 0;
    ONLINE = 1;
  }
  Status status = 5;
}

// 嵌套消息定义
message Position {
  float x = 1;
  float y = 2;
}

3.编译为 JS/TS 代码

# 生成静态 JS 文件(推荐)
pbjs -t static-module -w commonjs -o proto.js *.proto
#本项目下使用 npx 运行
npx pbjs -t static-module -w commonjs -o proto.js *.proto

# 生成 TS 声明文件(用于类型提示)
pbts -o proto.d.ts proto.js

在这里插入图片描述
例子

npx pbjs -t static-module -w commonjs -o assets/scripts/protobuf/player.js assets/resources/protos/*.proto

在这里插入图片描述

 npx pbts -o assets/scripts/protobuf/player.d.ts assets/scripts/protobuf/player.js

在这里插入图片描述
4:在 Cocos 中使用(3.x)
1.导入 protobuf.js 运行时库
2.修改生成的 player.js

// 修改前
var $protobuf = require("protobufjs/minimal");

// 修改后
var $protobuf = protobuf; // 使用全局 protobuf 对象

3.修改d.ts

import * as $protobuf from "./protobuf"

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值