これまでのところ、cocos2dx アプリケーションで発生したすべてのエラー/クラッシュを追跡できましたが、今では自分がばかげていると感じています。私は CCSprite ポインターの配列を持っています。私がやりたいことは、プレイヤーが x スコアを持っているときにキャッシュから表示フレームを変更することです。
すべてのスプライト フレームは plist ファイルから読み取られ、新しいフレームに切り替えようとする前に問題なく表示できるため、スプライトはそこにあり、機能しています。「background.png」は有効なスプライト フレーム名です。実際に機能するスプライトを作成するために使用しているためです。
この行は正常に機能します (または、少なくとも機能しているように見えます)。
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("background.png");
問題は次の行にあります。
for (int c = 0; c < sizeof(mBackground) / sizeof(CCSprite*); c++){
mBackground[c]->setDisplayFrame(frame);
}
これもクラッシュします:
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("background.png");
mBackground[0]->setDisplayFrame(frame);
私はアイデアを使い果たしました。助けていただければ幸いです。