質問が明確かどうかはわかりませんが、これを見つけて、特定のスプライトが爆発するたびに呼び出されるこのrunExplosionAnimationメソッドを使用することで競合が発生するかどうか疑問に思いました。私が開発しているゲームでは、画面にこのような20のスプライトが表示される可能性があり、同じアニメーションを共有してもよいのか(animationByName:@ "anAnimation"を参照)、これによりランタイムエラーが発生する可能性があるのでしょうか。 2つのスプライトが同時に爆発している場合。
-(void) runExplosionAnimation
{
[self stopAllActions];
CCAnimation* anim = [[CCAnimationCache sharedAnimationCache] animationByName:@"anAnimation"];
if(anim!=nil){
[self runAction:[CCSequence actions: [CCAnimate actionWithDuration:0.4f animation:anim restoreOriginalFrame:false], [CCHide action], nil]];
}
else{
[self loadSharedAnimationIfNeeded];
}
}