rive-android icon indicating copy to clipboard operation
rive-android copied to clipboard

How can I dynamically adjust the animation speed in code?

Open SamayLi opened this issue 2 years ago • 2 comments

I would like to dynamically adjust the animation speed in code. How can I achieve this? Thank you.

SamayLi avatar Jun 02 '23 01:06 SamayLi

+1

mrrobot97 avatar Feb 07 '24 07:02 mrrobot97

Temporary workaround:

Write your own CustomRiveAnimationView, modify createRenderer() method, return your custom RiveArtboardRender. Modify RiveArtboardRender#advance() method:

super.advance(elapsed * 2.0) means play animation with double speed.

class CustomRiveArtboardRender(
    trace: Boolean = false,
    rendererType: RendererType,
    controller: RiveFileController
) : RiveArtboardRenderer(trace, rendererType, controller) {

    var speed: Float = 1.0f

    override fun advance(elapsed: Float) {
        super.advance(elapsed * speed)
    }
}

mrrobot97 avatar Feb 21 '24 08:02 mrrobot97