2

我的问题是针对用 cocos2d v1.1.0-beta2b for ios 编写的应用程序:

删除/释放CCParticleSystem的最佳实践是什么

我知道的一种方法是使用 setAutoRemoveOnFinish:YES。

[emitter setAutoRemoveOnFinish:YES];
[emitter stopSystem];

另一种方法是使用 removeChild 手动移除发射器。

还有其他人吗?通常推荐哪种方式?

附带说明一下,关于 cocos2d v1.1.0-beta2b 下的 CCParticleSystem 删除/发布是否有任何已知问题?

4

1 回答 1

1

要移除一个粒子系统,只需将其从其父节点中移除即可。这是最好的方法。

如果您的粒子系统没有无限持续时间,最好的方法是使用setAutoRemoveOnFinish. 当粒子系统结束时,它会自动从父节点中移除系统。

如果你的粒子系统有无限的持续时间,那么使用removeChildwith cleanUp:YES(你不需要设置stopSystem before)。这样系统就被强制删除了。

或者你可以使用stopSystemwith setAutoRemoveOnFinish:YES,系统会在最后一个粒子结束后被移除。这样系统就可以顺利移除。

其他提示:

  • 使用CCParticleSystemQuad而不是CCParticleSystem.
  • 建议您使用autorelease构造函数创建粒子系统,例如[CCParticleSystemQuad particleWithFile:][CCParticleSystemQuad particleWithTotalParticles:]
  • 当然,release如果您有财产保留它,请使用它。
于 2013-07-14T14:56:45.893 回答