【发布时间】:2011-03-01 03:36:57
【问题描述】:
我想做的是在 iPad 上以大约 20 fps 的速度播放全屏 (1024x768) 动画。我有一个有 1800 个全屏帧的场景。到目前为止,我尝试了很多方法,但遇到了很多问题。
我的第一种方法是使用以下函数获取纹理
t = [[CCTexture2D alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"(%d)",startIndex] ofType:type]]];
使用 setTexture 方法将其赋予精灵,然后释放纹理,然后创建具有下一帧的新纹理并重复该过程,但使用这种方法我只能获得大约 7 fps。
我的第二种方法是在纹理缓存中预加载大约 10 个纹理,将它们保存在一个数组中,并使用 setTexture 将它们提供给精灵,在后端我用线程中的新纹理替换旧纹理,但我面临的问题是创建新纹理并添加到数组需要一些时间,当调用 settexture 方法时,精灵会显示旧纹理,因为新纹理尚未加载,但经过一段时间后新纹理会加载。
有什么方法可以在 iPad 上以大约 20 fps 的速度运行全屏动画?请帮帮我!
谢谢
法尔汉
【问题讨论】:
标签: objective-c animation ipad