2013年2月20日水曜日

【cocos2d】エラー「CCSpriteFrameCache: removing unused frame: ファイル名」

CCSpriteFrameCache関連で「CCSpriteFrameCache: removing unused frame: ファイル名」というエラーが出たのでそのメモ。

原因

原因としては「キャッシュ削除しちゃったから使えないよ」的なエラーログから察するように、CCSpriteFrameCacheを削除していたのにありました。

// 今回の場合はdeallocメソッドで呼んでました
-(void)dealloc
{
    [[CCSpriteFrameCache sharedSpriteFrameCache] removeSpriteFrames];  //ここ
    [super dealloc];
}

おわり

リザルト画面からゲームプレイ画面へ遷移する(戻る)ような処理の際に、リザルト画面のdeallocメソッドでremoveSpriteFramesメソッドを呼んでしまい、ゲームプレイ画面の初期化の際にCCSpriteFrameCacheが読み込まれていない状況になっていました。

実際は、しっかりとゲームプレイ画面のinitメソッドででCCSpriteFrameCacheを読み込んではいたのですが上手く機能せず。

CCSpriteFrameCacheの削除は結構使いどころが難しいですね。

0 件のコメント:

コメントを投稿