cocos2dでゲームを作っていますが、削除したいスプライトがたくさんあります。たとえば、画面にたくさんのキャラクターが表示されているかもしれませんが、ゲームが終わったら、それらをクリーンアップしたいと思います。今、気を散らすものとして特殊効果(パーティクルシステム)を作成しましたが、透明で画面全体をカバーしていないため、レイヤーからスプライトを削除すると、スプライトが透けて消えるのを見ることができます。
また、命令はユーザーにとって非常に高速に実行されるため、パーティクルエフェクトが開始する前にスプライトが消えたように見えます。
私の2つの問題について何か提案はありますか?ありがとう。
NSMutableArray *toRemove = [[NSMutableArray alloc] init]; // array of sprites that I collect to remove
spriteCount = 0;
if([self findAllSprites:parent forRemoval:toRemove] > 0){ // is there is at least one sprite to delete. If not then don't do anything
[self specialEffect]; // runs for maybe 3 seconds.
// how can I stall here so that the sprites aren't removed "instantaneously"?
for (Character* aCharacter in toRemove) {
[aCharacter.parent remove:aCharacter];
}
}