将CCSprite的内容添加到另一个CCSprite而不会影响性能

时间:2015-02-02 18:07:06

标签: cocos2d-iphone ccsprite

我有一个包含400 CCSprites网格的iPad应用程序,其中一些包含已经分层在一起的几个精灵。 我没有使用CCSpriteBatchNode因为我认为ZOrder对于节点中的所有项都需要相同,但事实并非如此。表现可以接受。 但是,我需要可选地在400个精灵的每个中心覆盖一个小点(如果用户想要显示网格以帮助布局)。问题是,通过添加另一个CCSprite(使用addChild),我现在在屏幕上有超过800个精灵,并且它很难达到性能。 有没有办法将新的精灵绘制到那些已经存在但不会影响性能的精灵上? (我想要动态生成由零件组成的新精灵,但这不是一堆堆叠的CCSprites

我使用Cocos2d V2.3 - 我确实尝试将项目转换为Cocos2d V3,但发现性能稍差,并且它导致了许多扩展问题,鉴于项目已接近完成,这意味着它& #39;最好在V2.3中完成此任务。

非常感谢任何建议。 PS:我发现了一些类似的问题,但他们讨论了如何堆叠精灵 - 这不是问题,我可以做到这一点,它是绘制一个我正在努力的新精灵。

2 个答案:

答案 0 :(得分:0)

使用点将现有精灵的纹理更改为纹理 如果此解决方案与您的情况不符,请提供屏幕截图(或部分屏幕截图),或者您场景中精灵的更详细说明。

答案 1 :(得分:-1)

答案以CCRenderTexture的形式出现 - 将所有精灵绘制成单个纹理,然后将其用于单个CCSprite