原因
原因としては「キャッシュ削除しちゃったから使えないよ」的なエラーログから察するように、CCSpriteFrameCacheを削除していたのにありました。// 今回の場合はdeallocメソッドで呼んでました
-(void)dealloc
{
[[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames]; //ここ
[super dealloc];
}
おわり
リザルト画面からゲームプレイ画面へ遷移する(戻る)ような処理の際に、リザルト画面のdeallocメソッドでremoveSpriteFramesメソッドを呼んでしまい、ゲームプレイ画面の初期化の際にCCSpriteFrameCacheが読み込まれていない状況になっていました。実際は、しっかりとゲームプレイ画面のinitメソッドででCCSpriteFrameCacheを読み込んではいたのですが上手く機能せず。
CCSpriteFrameCacheの削除は結構使いどころが難しいですね。
0 件のコメント:
コメントを投稿