Download

Playing a widget animation without interruption

I’ve got a really simple animation in my widget/hud.

The player destroys something and is awarded/docked points.

It’s basically a ‘+/- and a number’
(this is all triggered in an objects BP. Think of picking up a bunch of coins and they all fly up to the score one at a time.)

When the event occurs the number appears on screen and floats off to the score (at which point the score is adjusted).

The problem is these events can happen in quick succession. At which point the number floats a little ways and the anim starts over. (I have thought of ways to cover this: ie add the scores up - if it happens 5 times within a time frame the numbers just add up (they are bound to a variable) and if none are added in so many seconds the anim then plays out… But what if that animation gets interrupted too?

So I just want the original animation to play out. And have it just overlap (visually) the same animation for each event. So if a new anim plays halfway through the first the first just finished and the second plays on it’s own like nothing happened.

Is this possible?

(the animation is text in my widget that has a render opacity and a translation time frame)

Like this maybe:

Call *AddPoint *to accumulate the number of times animation needs to play but play it only if it’s *not *already running.
When the *Animation Finishes, *deduct a point and, if any points still remain, replay the animation.

edit:

So if you’ve collected 3 stars, you’d call it like so:

Or add an *int *input to that custom event and run the loop inside the widget.

Thanks! I’ll check that out.