使用 Texture Packer,我将 iPhone5 背景图像放在 pvr.ccz 文件中,并将输出文件保存在我的 cocos2d 项目的 Resources 文件夹中。当我尝试加载 pvr.ccz 文件时,我收到以下一系列错误:
cocos2d: Filename(StoreMenuBackground_iPhone5-hd.pvr.ccz) contains -hd suffix.
cocos2d: CCFileUtils: Warning HD file not found: StoreMenuBackground_iPhone5-hd.pvr.ccz
cocos2d: Error loading CCZ compressed file
然后代码在名为 ccInflateCCZFile 的方法(在 cocos2D 文件 ZipUtils.m 中)中以 EXC_BAD_ACCESS 崩溃。我正在执行的代码行是:
backgroundBgNode = [CCSpriteBatchNode batchNodeWithFile:@"StoreMenuBackground_iPhone5-hd.pvr.ccz"];
现在奇怪的是,如果我在 Texture Packer 中重新创建 pvr.ccz 文件,而在我尝试加载的 pvr.ccz 或背景 png 图像上没有 -hd 扩展名,然后将生成的输出文件放在资源中文件夹并重新运行代码,然后没有检测到错误。如果我随后从 Resources 文件夹中删除此 pvr.ccz 和关联的 .plist 文件(没有 -hd 扩展名的文件),一切都很好。持怀疑态度,然后我做了一个清洁和一个新的构建,它仍然有效。
为什么我一开始就会出现这个错误?当我执行上述步骤时,为什么它会消失。我可以相信最终结果是有效的吗?
我正在使用 Cocos2d V1.0。我已经在多个背景图像上尝试过这个,它们的行为都一样。对于 iPad 或 iPad-hd,我也没有这个问题。