ゲームでリスのヒーローが果物に触れたときに果物をアニメートしたいです。アニメート後、果物をシーンから削除する必要があります。2週間試しましたが、うまくいきませんでした。私のスプライトシートには6つのフレームがあります。スプライトアニメーション。
現在、ヒーローが果物と交差するときに、以下のコードを実行しています:
NSMutableArray *burst = [NSMutableArray array];
for(int i = 1; i <= 6; ++i) {
[burst addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"Fruit01000%d.png", i]]];
}
CCAnimation *walkAnim = [CCAnimation animationWithFrames:burst delay:0.02f];
CCActionInterval *animAction = [CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:NO];
[expl stopAllActions];
expl.visible = TRUE;
expl.position = ccp(coinColl.position.x,coinColl.position.y);
cleanupAction = [CCCallFuncND actionWithTarget:self selector:@selector(explOver:) data:expl];
seqF = [CCSequence actions:animAction, cleanupAction, nil];
[expl runAction:seqF];
[platformLayer removeChild:coinColl cleanup:YES];
[self sumScore];
[coinLabel setString: [NSString stringWithFormat:@"%i",appDelegate.coinScore+appDelegate.levelScore]];
explOver()関数:
-(void) explOver:(CCSprite*)explosion{
explosion.visible = FALSE;
}
部分的に機能しているため、一部のフルーツではアニメーションが表示されず、次のシーンにジャンプするとアプリがクラッシュし、「解放されているポインターが割り当てられていません」というエラーが表示されます。