【Creator】cocoscreator 2.4 apk还原为工程 (1)

Cocos Creator 2.4 APK 还原为工程文件(1)

本篇文章介绍了如何将 Cocos Creator 2.4 的 APK 文件还原为工程文件,特别是针对图片资源的还原过程。

1.1 正常图片还原
  • config.json 文件中的 paths 配置部分,包含了文件路径和图片类型(如 cc.Texture2D)。
  • 通过解析 UUID,找到对应的图片名称,并将其导出到指定位置。
1.2 未知图片还原
  • config.json 文件中,packs 数组中的元素对应的 JSON 文件中,可能包含一些未定义路径的图片资源。
1.3 还原方案
  • 遍历所有模块,找出所有图片,并将其记录为 file
  • 遍历每个模块,找到 1.1 节中提到的正常图片资源,并将其写入 file.frames 数组中。
  • 遍历 config.json 中类型为 cc.SpriteAtlas 的文件,将其中所有的图片数据写入对应的 file.frames 中。
  • 遍历 config.json 中的 packs,解析 JSON 数据,找到 1.2 节中的未知图片资源,并将其写入对应的 file.frames 中。
  • 每张图片的 frame 中都记录了 frame 的 UUID、大小、旋转等数据。
  • 通过解析 file.frames,可以判断数组长度是否为 1,并且判断 frame 的大小是否等于图片的大小,如果是,则处理为单图。
  • 如果不是单图,则将所有 frame 写入 plist 文件。
1.4 Meta 文件还原
  • 根据单张图片的 texture UUID 和 frame UUID 生成 meta 文件。
  • 如果是图集,则为 plist 文件生成对应的 meta 文件。如果 plist 文件中没有 UUID,则生成一个新的 UUID 供 plist 使用。
1.5 注意事项
  • 图集数据可能分散在多个模块中,必须遍历完所有模块后才能确定最终的合图数据。
  • 在某些情况下,图集中可能只有一张图片被使用,此时也只能得到一张图片的数据,仍然会生成一个 plist 图集。
  • 如果后续使用 plist 文件,需要记录每个 frame 对应的 plist 的 UUID(有的 plist 的 UUID新生成的);这些信息在还原预制体和场景时非常重要。
  • 图集中的图片也可以全部导出为单独的小图。

2 学习与交流

  • 欢迎加 QQ 985251414,一起学习与交流!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值