【问题标题】:How to draw animation on a canvas ?(android)如何在画布上绘制动画?(android)
【发布时间】:2010-10-06 18:49:59
【问题描述】:

当用户触摸屏幕时,我试图在画布上显示动画。我知道基础知识以及如何在画布上绘制位图,但我找不到任何关于在画布上绘制或显示动画的好处。我会使用逐帧动画,它会出现在用户触摸的同一位置,这就是我不能使用 ImageView 的原因。

【问题讨论】:

    标签: android animation canvas


    【解决方案1】:

    不确定是否有内置的方法可以做到这一点。但是将位图简单地加载到数组中是相当简单的。

    然后调用 invalidate(),您的 onDraw() 方法应该 invalidate() 本身并在下一次运行时计算要显示的帧(通过计算显示最后一帧的时间)。每次播放一帧时,都会增加帧计数器并重置时间计数器。

    您可以使用可变延迟,而且很容易实现。

    【讨论】:

    • 感谢您的回答。我在问这个问题之前尝试了这个,但是当我从 for 循环调用 invalidate() 时出现问题,它只会使一次无效并在屏幕上显示第一帧。
    • 你必须在你的 onDraw() 方法中调用 invalidate() 或 postInvalidate() 才能调用它。
    猜你喜欢
    • 1970-01-01
    • 2014-07-19
    • 2012-08-15
    • 2021-06-25
    • 2020-05-25
    • 2021-10-26
    • 2011-08-16
    • 2019-04-12
    相关资源
    最近更新 更多