我曾经通过迭代30个图像文件(相当大的图像文件)来动画我的CCSprites,并且在每个文件上我将CCSprite的纹理更改为该图像文件。
有人告诉我效率不高,我应该使用spritesheets代替。但是,我能问一下这为什么效率不高呢?
答案 0 :(得分:0)
这个问题分为两部分:
<强>内存即可。 OpenGL ES要求纹理的宽度和高度为2的幂,例如64x128,256x1024,512x512等。如果图像不符合要求,Cocos2D将通过添加额外的透明空间自动调整图像大小以适应尺寸。随着连续的图像被加载,你不断浪费越来越多的空间。通过使用精灵表,您已经紧紧包装了所有图像以减少浪费。
<强>速度即可。与上述相关,加载图像并调整其大小需要时间。只需调用一次“加载”,就可以加快整个过程。