0

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"];

ここで奇妙なことに、pvr.ccz またはロードしようとしている背景の png 画像のいずれかで -hd 拡張子を付けずに Texture Packer で pvr.ccz ファイルを再作成し、結果の出力ファイルを Resources に配置すると、フォルダを削除してコードを再実行すると、エラーは検出されません。次に、この pvr.ccz と関連する .plist ファイル (-hd 拡張子のないファイル) を Resources フォルダーから削除すると、すべて問題ありません。懐疑的だったので、クリーンと新しいビルドを実行しましたが、まだ機能しています。

そもそもこのエラーが発生するのはなぜですか? 上記の手順を実行すると、なぜ消えてしまうのでしょうか。最終結果が有効であると信頼できますか?

Cocos2d V1.0 を使用しています。複数の背景画像でこれを試しましたが、すべて同じように動作します。iPadまたはiPad-hdでもこの問題はありません。

4

1 に答える 1

1

cocos2d は Retina デバイスで -hd サフィックスのファイルを自動的に検索するためです。-hd/-ipad#/-ipadhd/-wide/-widehd サフィックスを直接使用してファイル名を使用することは想定されていません。

cocos2d-iphone v1.0 では非常に制限されていますが、CCFileUtils でサフィックス マッピングを微調整できます。

于 2013-10-17T22:22:10.220 に答える