1

我想知道是否有任何好处缓存精灵表并在不使用 CCSpriteBatchNode 的情况下逐帧访问精灵?

在我的游戏的某些部分,精灵批处理节点很有用,因为屏幕上有很多东西,但在另一部分它不是,因为只有一些东西,而且对图层有要求,所以 CCSpriteBatchNode 不会有用。然而,为了保持一致性,我想对我所有的精灵使用 Sprite Sheets,所以我开始怀疑我是否还能从中获得任何好处?(或者更糟糕的是它可能会慢一些......)

4

1 回答 1

3

将所有精灵放入您所称的纹理图集或精灵表中无疑是有好处的。纹理以二维的幂存储在内存中。因此,如果您有一个 129 像素 x 132 像素的精灵,它将以 256 像素 x 256 像素的形式存储在内存中,这是最接近 2 大小的幂。如果你有很多精灵,那么就会用掉很多额外的内存。

通过使用纹理图集,您在内存中只有一个纹理,然后它会从中提取出精灵所需的碎片。这些精灵可以是您想要的任何大小,而不必担心 2 个大小的力量。

您可以在本教程 http://www.raywenderlich.com/2361/how-to-create-and-optimize-sprite-sheets-in-cocos2d-with-texture-packer-and-pixel-中阅读有关它的更多详细信息格式

于 2012-09-20T03:35:59.007 回答