2009-02-26 100 views
1

我有我想要动画的各种UIImage序列的集合。事实证明,使用计时器并执行drawRect有一些性能问题。如何在iPhone上实现2D图像动画?

我的下一步是调查使用UIImageView,但显然,如果您不止一次更新animationImages数组有内存泄漏。

我的下一步是研究使用CALayer和CAAnimation来做到这一点,但在快速浏览文档后,他们似乎并没有表明它是用来在图像之间进行动画处理(注意,我没有改变位置或其他任何东西,只是图像)。

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

回答

1

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

我听说存在的UIImageView的阵列动画内存泄漏,但我一直在使用它,因为2.0版已经和没有与任何显著的问题。 YMMV当然。

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

+0

我有3个不同的全屏动画,我正在使用...现在我要尝试使用3个imageViews,并在他们需要时调用[bringToFront]。 – Jonas 2009-02-26 16:58:16

-1

我对iPhone开发不熟悉,但听起来你需要一个2D动画精灵。包含每个框架的大型图像文件,并且一次只显示一个框架。像编制二维数组一样,但您只需跟踪每个帧的像素偏移。

相关问题