【发布时间】:2011-09-27 06:40:28
【问题描述】:
假设我的项目中有 120 个图像文件。我想为所有这些精灵制作动画。
我在想这个方法:
CCSprite *temp = [CCSprite spriteWithFile:@"TheNextSprite.png"];
[sprite setTexture:[temp texture]];
上面的代码每 0.03 秒运行一次。
sprite 是我的动画 CCSprite。 temp 只是一个临时的 CCSprite,用图像文件为下一个动画帧初始化,所以我可以稍后获取它的纹理。
这样有效吗?我听说我可以将 CCAnimate 与 CCSpriteBatchNode 一起使用,但这仅适用于单个精灵。另外,我有 120 个(大)帧 - 它们不适合 2048x2048 纹理画布。
【问题讨论】:
-
120 个不适合 2048x2048 的大帧……您应该知道,加载大型精灵图像是一项相当昂贵的操作。如果您有这么多图像,您可能会遇到内存问题,除非您在每次使用后释放纹理。即使在 iPad 上也很难达到 60 fps。
标签: objective-c cocos2d-iphone