如何在iPhone上实现2D图像动画?

时间:2009-02-26 16:37:16

标签: iphone cocoa-touch

我有一组我想要动画的各种UIImage序列。事实证明,使用计时器和执行drawRect有一些性能问题。

我的下一步是使用UIImageView进行调查,但是如果不止一次更新animationImages数组,那么显然会出现内存泄漏。

我的下一步是研究使用CALayer和CAAnimation进行此操作但是在快速浏览一下文档后,他们似乎并没有表明它是用于在图像之间制作动画(注意,我没有改变位置或任何东西否则,只是图像)。

我是走正确的道路还是还有其他方向我应该调查?

2 个答案:

答案 0 :(得分:1)

您是否真的需要多次更新UIImageView中的图像数组?如果你需要在动画被使用后更改动画,我会认为最好创建一个新的UIImageView吗?

我听说UIImageView的数组动画中存在内存泄漏,但我从v2.0开始就使用它,并没有任何重大问题。 YMMV当然。

要首先设置帧数组,请使用UIImages(每帧一个)加载NSMutableArray并将其设置为UIImageView的animationImages属性(然后也设置animationDuration属性)。只要您想要为其设置动画,就可以调用startAnimating方法。在正常使用中,您不需要在设置后更改帧数组。

答案 1 :(得分:-1)

我不熟悉iPhone开发,但听起来你需要一个用于二维动画的精灵。包含每个帧的大型图像文件,您一次只能显示一个帧。就像索引2维数组一样,但你只需跟踪每帧的像素偏移量。