我目前正在为iPad开发一款cocos2d游戏,因为那里有很多动画。我以前曾使用zwoptex创建spritesheet并在项目中添加动画。
在我的游戏中有10个关卡,完成每个关卡后,将播放一个动画,每个关卡的动画都不同,并且动画图像大小与设备屏幕大小相同。所以我不是创建spritesheet文件,而是直接加载图像。我的问题是,动画制作需要太多时间来播放动画。
我该如何解决?请任何人指导我。是否可以在plist中加载全屏大小的图像(1024x768),因为每级总共10个级别有20个动画帧,因此10X20 = 200个图像需要加载spritesheet。
我正在将此代码用于动画
CCAnimation *animation = [CCAnimation animation];
for(int i=1;i<=20;i++)
{
[animation addFrameWithFile:[NSString stringWithFormat:@"Level%dAni%d.png",level,i];
}
animation.delayPerUnit = 0.3f;
animation.restoreOriginalFrame = YES;
id action = [CCAnimate actionWithAnimation:animation];
我的问题是可以用spritesheet加载全屏动画吗?动画加载时间不同,如何修复需要太多时间?
请帮我..
最佳答案
算一下,算出1024x768像素200张照片所需的内存量。任何iSomething设备的内存过多。
如果您遇到性能问题(例如,是否要在设备上运行此问题?),则可以采取两种措施来提高图像加载速度:
在您的代码中,进行动画处理的位置
[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA4444];
// load your images and do your anim
...
// at the completion of the anim
[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];
关于ios - 如何在cocos2d中在后台加载动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179913/