An example based on states and timers.
https://drive.google.com/open?id=0B1SSu ... Hd2OUlmcEE
This is assuming that there can be many sprites dooing the sequence at the same time. So, every variable and timer is private. Including the 'state', what a 'state' is meant for anywayz. A 'state' is a private thing, any sprite can be in a 'state'.
Mind the scale thing. It is a difficult thing to work with. It has no expressions. And the scale of a sprite = original size * scale. (NOT current size).
Timers are allready dt corrected.
Basecaly this handles 3 things.
1 / do something based on a 'state'. (as you asked)
3 / change variables from a start value to an end value in a given time
4 / change the 'state' based on time