我的问题是针对用 cocos2d v1.1.0-beta2b for ios 编写的应用程序:
什么对于删除/释放 CCParticleSystem的最佳做法是什么?
我知道的一种方法是使用 setAutoRemoveOnFinish:YES。
[emitter setAutoRemoveOnFinish:YES];
[emitter stopSystem];
另一种方法是使用 removeChild 手动移除发射器。
还有其他的吗?通常推荐哪种方式?
附带说明一下,关于 cocos2d v1.1.0-beta2b 下的 CCParticleSystem 删除/发布是否存在任何已知问题?
Best Answer-推荐答案 strong>
要删除粒子系统,只需将其从其父节点中删除即可。这是最好的方法。
如果您的粒子系统没有无限持续时间,最好的方法是使用 setAutoRemoveOnFinish 。粒子系统结束时会自动从父节点中移除系统。
如果你的粒子系统有无限的持续时间,那么使用 removeChild 和 cleanUp:YES (你不需要在 stopSystem 之前设置 )。这样系统就被强制删除了。
或者你可以使用stopSystem 和setAutoRemoveOnFinish:YES ,系统会在最后一个粒子结束后被移除。这样系统就顺利卸载了。
其他提示:
- 使用
CCParticleSystemQuad 代替 CCParticleSystem 。
- 建议您使用
autorelease 构造函数创建粒子系统,例如 [CCParticleSystemQuadparticleWithFile:] 或 [CCParticleSystemQuadparticleWithTotalParticles:] 。
- 当然,如果您有保留它的属性,请使用
release 。
关于ios - CCParticleSystem 移除最佳实践,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/17637585/
|