Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to reverse the animation ? #43

Open
izzatzr opened this issue Feb 5, 2019 · 4 comments
Open

How to reverse the animation ? #43

izzatzr opened this issue Feb 5, 2019 · 4 comments

Comments

@izzatzr
Copy link

izzatzr commented Feb 5, 2019

I want it first display the animation and then do it in reverse, but i have no idea how to accomplish this

@luigi-rosso
Copy link
Contributor

Hi @izzatzr, one way you could do this right now is by using a custom controller which applies the animation in reverse.

For example, take a look at main.dart in the penguin example:
https://github.com/2d-inc/Flare-Flutter/blob/master/example/penguin_dance/lib/main.dart#L46

You could apply the "music_walk" animation (stored in the ActorAnimation _rock variable) in reverse by changing the apply call to use a _rockTime that is relative to the end of the animation. Something like this:

  bool advance(FlutterActorArtboard artboard, double elapsed) {
    _rockTime += elapsed * _speed;
    _rockTime = _rock.duration - (_rockTime % _rock.duration);
    _rock.apply(_rockTime, artboard, _rockAmount);
    return true;
  }

@agordeev
Copy link

It'd be great to have FlareController as easy to use as Flutter's AnimationController :(
Too much boilerplate to simply run the animation in reverse.

@tyirvine
Copy link

tyirvine commented May 27, 2020

I ran into this problem as well @izzatzr. What I decided to do was just to make one animation for running forwards and one for running in reverse, which was super easy (just swap the start & and key frame positions in Rive).

Then I just used a bool to swap between the two

FlareActor(
        'assets/animations/animation.flr',
        animation: widget.animationSwitch ? 'forward' : 'reverse',
      ),

This isn't the best solution but it works!

¯\_(ツ)_/¯

@Tapaswi846580
Copy link

Is there any way to change the key frames pragmatically ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants