我有一个使用 cocos2d v1.1.0-beta2b 的 ios 应用程序,并且遇到了发射器自动移除的非常奇怪的情况。
我的问题是:
有没有什么方法可以在我调用stopSystem之前删除无限持续时间的 CCParticleSystemQuad,并将autoRemoveOnFinished设置为YES?
以下是一些附加信息:
我初始化发射器如下:
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之前删除无限持续时间的 CCParticleSystemQuad,并将autoRemoveOnFinished设置为YES?