在Cocos2D中从批处理中删除精灵的最佳方法

时间:2010-09-12 13:59:46

标签: iphone cocos2d-iphone

我在我的项目中使用Cocos2D,我对这个库很新。我不明白一件事。

我在场景中有很多精灵,不断添加和删除。所以在某个时刻精灵变得无用,我必须从批处理节点中删除它。

在CCSpriteBatchNode类的removeChild方法的注释中说:

 @warning Removing a child from a CCSpriteBatchNode is very slow

有谁知道删除精灵的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

除了添加和删除sprite之外,为什么不重新使用它们,那么添加或删除sprite不会导致任何减速。

将精灵设置为不可见可以节省渲染成本,当您需要再次添加它时,只需将其移动到位置和纹理框架(如果需要),然后重新打开可见性。

我将ccSprite子类化,然后将它们添加到数组中以跟踪活动和非活动精灵。

戴夫。