【问题标题】:What is the best way to play an animation frame by frame?逐帧播放动画的最佳方式是什么?
【发布时间】:2010-09-12 05:43:30
【问题描述】:

我根据用户的控制动态地将一些 GIS 数据绘制到 CGImageRef 中。 但是如何在 UIImageView 中像动画一样高效地播放这些帧呢?

经过搜索和调查,在UIImageView中播放动画的方法是预先加载你需要的所有图像,并调用startanimating方法,如下所示:

myImageView.animationimages=[NSArray arrayWithObjects:1uiimage,2uiimage,....,nil]; [myImageView 开始动画];

但是如果我预加载所有 UIImages 等待时间太长,因为我每次都有超过 400 帧。

我想像流一样播放动画,实时流,怎么做? 如果您能给我任何想法或示例,我将不胜感激。 :)

【问题讨论】:

    标签: iphone


    【解决方案1】:

    使用 CADisplayLink 在每次屏幕刷新时获得通知。在回调中更改 myImageView.image。

    (如果你想限制帧率,你可能需要做一些更聪明的事情。)

    【讨论】:

    • 谢谢,它有效。现在我的动画运行完美。我唯一需要做的就是控制帧吞吐量。
    • CADisplayLink.timestamp 将为您提供每次更新的时间(可能是设备正常运行时间);我会忽略那些没有将时间戳提前足够远的更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多