使用纹理打包器,我将iPhone5背景图像放置在pvr.ccz文件中,并将输出文件保存在pvr.ccz项目的参考资料文件夹中。当我试图加载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然后,代码在一个名为EXC_BAD_ACCESS的方法中崩溃(在ccInflateCCZFile文件ZipUtils.m中)。我正在执行的代码行是:
backgroundBgNode = [CCSpriteBatchNode batchNodeWithFile:@"StoreMenuBackground_iPhone5-hd.pvr.ccz"];现在,奇怪的是,如果我在纹理打包器中重新创建pvr.ccz文件,而不是在试图加载的pvr.ccz或背景png图像上添加-hd扩展名,然后将结果输出文件放在Resources文件夹中并重新运行代码,则不会检测到任何错误。然后,如果我从参考资料文件夹中删除这个pvr.ccz和相关的.plist文件(这个文件没有-hd扩展名),一切都很好。出于怀疑,我做了一个干净的和一个新的构建,而且它仍然在工作。
为什么我一开始就有这个错误?为什么当我做上面列出的步骤时它就消失了。我能相信最终结果是有效的吗?
我正在使用Cocos2d V1.0。我已经在多个背景图像上尝试过了,它们的行为都是一样的。对于iPad或iPad,我也没有这个问题。
发布于 2013-10-17 22:22:10
因为cocos2d在Retina设备上自动搜索-hd后缀文件。你不应该直接使用-hd/-ipad#/-ipad/-wide/-widehd后缀来使用文件名。
您可以使用CCFileUtils调整后缀映射,尽管在cocos2d-iPhonev1.0中这是非常有限的。
https://stackoverflow.com/questions/19438207
复制相似问题