0%

游戏项目客户端开发备忘录(四) - 工具

列举了一些游戏项目开发中的工具技术备忘录,基于 Cocos2d-x v3.16 和 Lua 5.1.5。

图片处理

图集制作

  • 使用 TexturePacker 将散图打包成为图集 SpriteSheet 。

图片优化

  • 使用 ImageOptim 对图片进行无损/有损压缩。
  • 在线工具:TinyPng 对图片进行有损压缩。

图标制作

  • 使用 Python Image Library 将 1024x1024 的图片生成各种大小的图标。
  • 在线工具:图标工场,一键生成所有尺寸的应用图标/启动图。

动画

龙骨动画

Spine 动画

  • 方案一:使用官方软件 Spine,导出 json 、atlas 和 png。
  • 方案二:使用 DragonBones Pro,导出 Spine 类型数据。

字体

  • Bitmap Font 类型:使用 Glyph Designer 生成 fnt 和 png 格式的字体文件。

粒子

protobuf 生成

  • 方案一:使用了 protoc-gen-lua 来将转换 proto 文件转换为可用的 Lua 文件。
  • 方案二:使用 pbc 直接使用 pb 文件。

工程打包

热更新打包

  • 使用 git 的 diff 功能,找出差异文件。

配置文件

  • 将 Excel 表转换为 Lua Table,项目中加载配置 Lua 文件。
  • 使用 Python 编写工具转换,Excel 读取库 xlrd

脚本加密

  • 使用 luac 将 Lua 文件编译成字节码。
  • 使用 XXTEA 来加密字节码。
  • 在项目中设置加密秘钥和加密签名,例如:
C++AppDelegate.cpp
1
2
LuaStack* stack = pEngine->getLuaStack();
stack->setXXTEAKeyAndSign("2dxLua", strlen("2dxLua"), "XXTEA", strlen("XXTEA"));

Lua 绑定代码