CocosCreator TypeScript使用protobuf

2023-11-17

开发环境 : Mac环境 + CocosCreator + TypeScript 使用protobuf

 

准备工作:

1. CocosCreator

2. WebStorm || VSCode

3. 安装node.js

4. 下载protobufjs6.8.6

 

命令行安装:

步骤1. 安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

步骤2. 安装node.js npm 【npm 其实就是Node.js的包管理工具(Node Package Manager)】

brew install node

或者官网下载安装 : https://nodejs.org/en/#download

 

步骤3. 安装protobfujs到全局

npm install -g protobufjs  注意:这个命令会安装最新版本

目的是方便使用protobufjs提供的pbjs工具。pbjs可以将proto原文件转换成json、js等,以提供不同的加载proto方式。还有pbts,用来将转化后的js文件转为ts。

 

步骤4.找到下载的protobuf.js

path: /usr/local/lib/node_modules/protobufjs/dist

将protobuf.js拖到creator工程中并导入为插件

 

步骤5.在保存.proto文件的目录下打开命令行执行命令:

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

这行命令是将文件中所有的 .proto 文件转化为一个 proto.js 文件

 

步骤6. 将proto.js文件放入代码目录中

 

步骤7. 修改 proto.js 文件中的引用

因为protobuf已经被设置为插件了。

 

步骤8. 如果使用 TS 格式,可以通过 protobufjs6 新功能来实现

pbts -o proto.d.ts proto.js

会生成对应的 proto.d.ts文件。注意:这里proto.d.ts一定要有.d

 

测试使用:

v6.x的做法

let req = HeartBeatReq.create({param1: 1, param2: 2});

let buffer = HeartBeatReq.encode(req).finish();

socket.send(buffer, MsgID);

 

注意:以上是version 6.x版本使用protobufjs的实现

 

5.x 版本请看下面的使用步骤

 

步骤3. 下载protobufjs 5.x 版本

npm install -g protobufjs@5     注意:version 6.x版本接口变化太大,使用这个命令安装版本5.x

 

步骤4.同上述步骤4

 

步骤5. 使用命令行将所有的 .proto文件生成一个game.js文件

pbjs -t commonjs *.proto > game.js

 

步骤6. 通过ts脚本文件,加载到程序中

import * as game from "./game"

export var proto: any = null;

export default class ProtoManager {
    private static ins: ProtoManager;

    public static get I(): ProtoManager {
        if (!ProtoManager.ins) {
            ProtoManager.ins = new ProtoManager();
        }
        return ProtoManager.ins;
    }

    public initCommon() {
        if (!proto) {
            proto = game['protos'];
        }
    }
}

v5.x做法

let req = new proto["HeartbeatReq"];

req.msec = MKUtils.getCurrentTime();

this.m_socket.send(req.toArrayBuffer(), MsgID);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CocosCreator TypeScript使用protobuf 的相关文章

  • Qt creator中操作QAction加入QToolBar

    背景 xff1a 个人笔记 我之前没有系统化学习过任何资料 xff0c 使用很多工具都是按需出发 xff0c 直接上手 xff0c 遇到问题再研究的 所以会有一些弯路 本文言语中难免有对个人情绪的生动描述 xff0c 希望不要影响读者心情
  • 【Cocos creator】Cocos creator介绍和入门

    目录 一 工作流程二 安装和启动三 入门示例四 项目结构五 编辑器界面 Cocos Creator 是一个完整的游戏开发解决方案 xff0c 包含了 cocos2d x 引擎的 JavaScript 实现 xff0c 以及快速开发游戏所需求
  • Qt 5基础 | Qt Creator 5.6.1-1的下载与安装

    Qt 5基础 Qt Creator 5 6 1 1的下载与安装 Qt 5基础 Qt Creator 5 6 1 1的下载与安装下载安装 官方博客 xff1a https www yafeilinux com Qt开源社区 xff1a htt
  • Ubuntu下不能切换中文,qt creator无法输入中文,sogo输入法(详细步骤)

    目录 xff1a 1 解决ubuntu 不支持切换中文 xff0c 并安装sogo输入法步骤 xff1b 2 解决Qt Creator不支持中文输入 xff1a 详细步骤 xff1a 一 解决ubuntu 不支持切换中文 xff0c 并安装
  • 【Qt】Creator调试卡死挂起-starting debugger cdbengine for abi 【2023.03.23】

    解决方案 xff1a 删除这个文件 xff1a C Users 你的用户名 AppData Roaming QtProject qtcreator debuggers xml 重启QtCreator
  • Qt/Qt Creator下载网址

    1 所有Qt版本下载地址 xff1a http download qt io archive qt 2 所有Qt Creator下载地址 xff1a http download qt io archive qtcreator 3 所有Qt
  • QT Creator项目打包发布

    按照如下方法 xff0c 可将项目成功打包发布 xff0c 别人不需要安装或配置QT Creator环境便可直接运行程序 xff0c 具体步骤如下 xff1a 1 在QT Creator使用release构建运行一下代码 xff0c 不要使
  • Qt Creator中配置Opencascade

    Qt Creator中配置Opencascade 前言 xff1a 由于项目需要使用到STEP STP文件 xff0c 还需要三维建模 xff0c 于是就发现了一个工具 目前网上的资源 xff0c 专门分享这方面内容的是eryar大佬 xf
  • Gym render_modes = env_creator.metadata[“render_modes“]KeyError: ‘render_modes‘ 解决方案

    问题描述 今天在运行一行代码时 xff1a FLAGS env是我自己定义的环境 env 61 gym make FLAGS env 出现了这种错误 xff1a env 61 gym make FLAGS env File 34 lib p
  • Qt Creator闪退解决办法

    Qt Creator闪退解决办法 Qt 今天突然出现所有插件无法打开的问题 xff0c 找了很久的资料也没解决 只能重装QtCreator 结果一点开QtCreator过不了一分钟 xff0c 就闪退 看到windows记录的问题原因是Qt
  • Qt Creator 3.0.1 部署远程调试

    QT Creator3 0 1 部署远程调试 远程目标板连接配置 从菜单栏选择options gt devices gt add gt generic linux device gt 开始向导 输入目标板的IP与登录用户信息 完成后会自动测
  • 教你彻底搞懂Cocos Creator Tween

    Cocos 使用了Tween来代替原来的Action系统 今天来给大家讲解Tween如何使用 帮助大家掌握Tween的使用 xff0c 并且对Tween有一个更深入的了解 这里有个cocos creator学习交流点击可以直接进入 1 Tw
  • Ubuntu下QT creator查看pixhawk工程

    打开Terminal span class hljs built in cd span src Firmware mkdir Firmware build span class hljs built in cd span Firmware
  • cocos creator 游戏背景音乐处理(音乐循环淡入淡出等)

    在处理游戏背景音乐中遇到的问题 xff0c 策划对于音乐播放提出新的想法 但由于目前周围没有人尝试过 xff0c 所以自己摸索的来 需求 在同一场景音乐处理 一般同一场景是同一首背景音乐 现需求在同一场景 xff08 时代 xff09 内播
  • Qt Creator中添加菜单栏实例

    Qt Creator中添加菜单栏 nbsp 实例是本文介绍的内容 内容不多 很丰富的实现 先来看内容 Qt中的菜单栏添加相对VC比较简单 今天找了一天的槽函数如何添加 到了下午的时候终于有些眉目 现在我们来看一下在Qt中如何添加菜单栏 1
  • docker里面安装Qt Creator

    sudo apt get install qt5 default qtcreator
  • 【Cocos creator】Cocos creator介绍和入门

    目录 一 工作流程二 安装和启动三 入门示例四 项目结构五 编辑器界面 Cocos Creator 是一个完整的游戏开发解决方案 xff0c 包含了 cocos2d x 引擎的 JavaScript 实现 xff0c 以及快速开发游戏所需求
  • Qt Creator使用CMake配置第三方库

    语法 include directories 添加第三方库头文件路径 这里的 include directories 直接向括号里加入第三方库的头文件路径即可 span class token function include direct
  • Qt5.9Creator中自定义信号SIGNAL和在另一个类中用该信号触发槽函数用法

    本文章主要总结在Qt5 9Creator中自定义一个信号 然后在另一个类里面用该信号触发槽函数的实例 具体的实例是在类ClassA中自定义一个信号Signal1 然后在MAinWindows类中用该信号Signal1来触发槽函数SlotFu
  • cocoscreator 3.x 获取像素颜色

    const pos v2 世界坐标 const color as camera rt targetTexture readPixels pos v2 x pos v2 y 1 1 获得颜色 cc color color as 0 color

随机推荐

  • 几种特征选择方法的比较,孰好孰坏?

    在本文中 重点介绍特征选择方法基于评估机器学习模型的特征重要性在各种不可解释 黑盒 及可解释机器学习方法上的表现 比较了CART Optimal Trees XGBoost和SHAP正确识别相关特征子集的能力 无论使用原生特征重要性方法还是
  • mcem r语言代码_R语言面向对象编程:S3和R6

    R语言面向对象编程 S3和R6 2017 06 10 0 R语言面向对象编程 S3和R6 一 基于S3的面向对象编程 基于S3的面向对象编程是一种基于泛型函数 generic function 的实现方式 1 S3函数的创建 S3对象组成
  • 【IT之路】微信小程序之程序精简

    上一篇我们了解了下微信小程序 这次我们来给新创建出来的小程序瘦身 这里保存了日志模块部分和index页面 一 主体文件精简 app js文件精简 app js App onLaunch 展示本地存储能力 const logs wx getS
  • arduino彩灯计时器电路_Arduino UNO 制作LED节日彩灯

    假日季节来临之际 我觉得利用Arduino和全彩LED灯条制作装饰彩灯将会很有趣 这些LED不仅会亮 而且具有多种不同的颜色 能够为您带来多彩的节日气氛 目录 1 LED灯条简介 2 如何连接LED灯条并接线 3 让我们来点亮LED灯吧 1
  • win10系统:VMware无法在Windows运行 解决方法

    win10系统 VMware无法在Windows运行该怎么办 最近使用win10系统的用户反应系统中出现了无法正常运行VMware的现象 在更新了win10系统之后 首先使用的是VMware14之后发现不兼容Windows10 1903 然
  • JAVA中Bean对象的注解

    java中通常对bean对象的注解 Column 和 Id 都是javax persistence包中的 bean 表明这个属性对应数据库中主键字段 Column 是表明这个属性对应数据库中某个字段
  • 这5种必知的大数据处理框架技术,你的项目到底应该使用其中的哪几种

    大数据是收集 整理 处理大容量数据集 并从中获得见解所需的非传统战略和技术的总称 虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限 但这种计算类型的普遍性 规模 以及价值在最近几年才经历了大规模扩展 本文将介绍大数据系统一个最基
  • Hadoop学习笔记之如何运行一个MapReduce程序

    Hadoop学习笔记之如何运行一个MapReduce程序 MapReduce可以分为两个阶段来处理 一个阶段为map 另一个阶段为reduce 每个阶段都有键值对的输入和输出参数 输入输出键值对的类型由程序决定 程序同样指定了两个函数 ma
  • 笔试面试常见函数编程实现

    目录 strcpy strstr memcpy memove Strcmp atoi 最好不要用其他封装的函数 strcpy C语言标准库函数 原型声明 extern char strcpy char dest const char src
  • 使用baiduspider实现一个异步爬虫

    代码仓库 https github com Kakaluoto asnyc spider 爬虫数据收集 1 各文件说明 img 存放爬取的图片 async spider 异步爬虫类 data collector 爬虫执行脚本 从这里启动 i
  • 京东搜索EE链路演进

    导读 搜索系统中容易存在头部效应 中长尾的优质商品较难获得充分的展示机会 如何破除系统的马太效应 提升展示结果的丰富性与多样性 助力中长尾商品成长是电商平台搜索系统的一个重要课题 其中 搜索EE系统在保持排序结果基本稳定的基础上 通过将优质
  • 多工程项目打包成功,运行失败(仅参考)

    打包了好几次 成功了 但到了线上运行了 当然这样看是看不出来的 看了error log 是找不到某个类 解决方案 多工程项目打包 最好用root的package 会打包所有工程
  • 【满分】【华为OD机试真题2023 JAVA&JS】取出尽量少的球

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 取出尽量少的球 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 某部门开展Family Day开放日活动 其中有个从桶里取球的游戏 游戏规则如下 有N个容量一样的小
  • vue 中 的scroll插件vuescroll

    vuescroll 官网 https vuescrolljs yvescoding org zh guide configuration html detectresize 主要配置如下 在data里面 ops vuescroll mode
  • angular 根据当前日期显示本周,上周,本月,上月,本季度,本年度时间段

    angular Date处理模块 根据当前日期获取本周 上周 本月 上月等时间段 知识准备 Date对应方法 getDate 返回月中的第几天 从 1 到 31 getDay 返回星期几 0 6 setDate day 设置 Date 对象
  • 【c语言】malloc函数详解

    谈到malloc函数相信学过c语言的人都很熟悉 但是malloc底层到底做了什么又有多少人知道 1 关于malloc相关的几个函数 关于malloc我们进入Linux man一下就会得到如下结果 也可以这样认为 window下 原型 ext
  • 关于多线程与CPU时间片

    几个知识点 进程是操作系统分配资源的基本单位 很明显在 proc pid目录下你可以看到每一个进程的详细信息 资源情况 但是你却找不到线程的资源信息 那是因为线程是共享了进程的资源 线程是操作系统调度的基本单位 我们打开top命令看到的 t
  • 创建Vue脚手架&分析脚手架结构

    一 初始化脚手架 1 1 说明 1 Vue 脚手架是 Vue 官方提供的标准化开发工具 开发平台 2 最新的版本是 4 x 3 文档 Vue CLI 1 2 具体步骤 第一步 仅第一次执行 全局安装 vue cli npm install
  • iostat 命令

    iostat 命令主要通过观察物理磁盘的活动时间以及他们的平均传输速度 监控系统输入 输出设备负载 根据 iostat 命令产生的报告 用户可确定一个系统配置是否平衡 并据此在物理磁盘与适配器之间更好地平衡输入 输出负载 iostat 工具
  • CocosCreator TypeScript使用protobuf

    开发环境 Mac环境 CocosCreator TypeScript 使用protobuf 准备工作 1 CocosCreator 2 WebStorm VSCode 3 安装node js 4 下载protobufjs6 8 6 命令行安