代码之家  ›  专栏  ›  技术社区  ›  Jonas

如何在iPhone上实现二维图像动画?

  •  1
  • Jonas  · 技术社区  · 15 年前

    我有一个各种各样的uiimage序列的集合,我想制作动画。事实证明,使用计时器和执行drawrect有一些性能问题。

    我的下一步是使用uiImageView进行调查,但显然,如果您多次更新动画图像数组,就会出现内存泄漏。

    我的下一步是研究使用calayer和caanimation来完成这项工作,但在快速浏览文档后,它们似乎并不表示这是为了在图像之间设置动画(注意,我不会更改位置或其他任何内容,只是图像)。

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

    2 回复  |  直到 13 年前
        1
  •  1
  •   philsquared    15 年前

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

    我听说uiImageView的数组动画中存在内存泄漏,但我从2.0版开始就一直在使用它,没有遇到任何重大问题。当然是YMMV。

    要首先设置帧数组,请使用uiimages(每帧一个)加载一个nsmutablearray,并将其设置为uiimageview的animationImages属性(然后也设置animationDuration属性)。只要在任何时候想要对其进行动画处理,就可以调用StartAnimating方法。在正常使用中,设置后不需要更改帧数组。

        2
  •  -1
  •   tkotitan    15 年前

    我不熟悉iphone dev,但听起来你需要一个sprite来制作二维动画。一个包含每个帧的大图像文件,一次只显示其中一个帧。就像索引一个二维数组,但是你只需要跟踪每一帧的像素偏移量。