zoukankan      html  css  js  c++  java
  • cocos2dx 3.8.1 lua集成protobuf

    目前lua集成protobuf主要有两种方式

    1. protobuf-gen-lua方案

    https://github.com/sean-lin/protoc-gen-lua  参照说明即可集成

    这个方案是将proto文件导出成lua文件, 使用起来稍微麻烦,  不能直接创建lua table,  而是要用生成lua pb文件中指定格式的table来生成二进制,  同样服务器返回的二进制数据也是反序列化成生成lua pb文件中指定格式的table。 对数组的操作与lua原生方式不一样, 没有良好的打印日志功能, 需要自己编写, 如果自己封装框架会很别扭, 因为要编写系列方法来处理lua table和lua pb中的table的转换和对应关系

    2. 云风pbc方案

    https://github.com/cloudwu/pbc

    这个方案处理的很干净利落  类似与json.decode json.encode  可以直接把lua table生成二进制和直接从二进制反序列化成lua table,   因此log功能 框架封装都处理起来很顺手

    这个方案提供了tolua封装

    需要注意的是,pb文件是proto编译生成的,暴露在资源路径下,需要自己进行加密,否则真成了裸奔了

    启动时需要注册protobuf文件

    local buffer = cc.FileUtils:getInstance():getStringFromFile(" XXX.pb")

    protobuf.register(buffer)

  • 相关阅读:
    1059 C语言竞赛
    1058 选择题
    1057 数零壹
    1056 组合数的和
    1055 集体照
    Mysql--分库分表
    Mysql--改表结构
    Mysql--开始阶段
    Mysql--常用语句
    Mysql--grant授权
  • 原文地址:https://www.cnblogs.com/ColaZhang/p/4922211.html
Copyright © 2011-2022 走看看