我想知道是否有任何有益的缓存精灵表并在不使用CCSpriteBatchNode的情况下逐帧访问精灵?
在我的游戏的某些部分,精灵批处理节点很有用,因为屏幕上有很多,但是在另一部分它不是,因为只有一些东西,并且有层的要求所以CCSpriteBatchNode不会很有用。但是,为了保持一致性,我想为我所有的精灵使用Sprite Sheets,所以开始怀疑我是否还能从中获得任何好处? (或者更糟糕的是它可能有些慢......)
答案 0 :(得分:3)
将所有精灵放入纹理图集或精灵表中是非常有益的。纹理以2维的力量存储在存储器中。因此,如果你有一个129px乘132px的精灵,它将以256px乘256px存储在内存中,这是2个大小的最近幂。如果你有很多精灵用掉了相当多的额外内存。
通过使用纹理图集,你在内存中只有一个纹理,然后它会从你的精灵所需的部分中拉出它们。这些精灵可以是你想要的任何尺寸,而不必担心2种尺寸的力量。
您可以在本教程中阅读有关它的更多详细信息 http://www.raywenderlich.com/2361/how-to-create-and-optimize-sprite-sheets-in-cocos2d-with-texture-packer-and-pixel-formats