cocos2d v1.1.0-beta2b を使用する ios アプリを持っていますが、エミッターの自動削除で非常に奇妙な状態に遭遇しました。
私の質問は:
stopSystemを呼び出す前に、 autoRemoveOnFinished を YES に設定した無限期間 CCParticleSystemQuad を削除する方法はありますか?
ここにいくつかの追加情報があります:
次のようにエミッタを初期化します。
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
emitter = [[[CCParticleSystemQuad alloc]
initWithDictionary:dict] autorelease];
emitter.duration = -1.0f;
[emitter setAutoRemoveOnFinish:YES];
[self addChild:emitter z:10];
その後、もちろん子として追加され、すべてが完全に機能します。多くの場所で提案されているように、それを削除するには、次のように呼び出します。
[emitter stopSystem];
その後、すべてのパーティクルがなくなると、エミッターは期待どおりに削除されます。
これまでのところ、すべて順調です。
ただし、エミッターが時期尚早にリリースされたことを示すいくつかのクラッシュ レポートに遭遇した後、私のアプリは stopSystem 行でクラッシュします (エミッターは既にリリースされているため)。エミッターのアクティビティ中にデバイスがロック/ロック解除されたときに時々発生することを示すいくつかのフィードバックを受け取りましたが、私にとっては機能し、これらのクラッシュはまれです. 現象が発生する状況を再現できなかったので、もう一度お尋ねします。
stopSystemを呼び出す前に、 autoRemoveOnFinished を YES に設定した無限期間 CCParticleSystemQuad を削除する方法はありますか?