You are probably calling the action 'play animation' each tick.
Would you do something like this ...
condition: Key is down
action: play animation "thing" from the beginning.
'Key is down' is not a trigger. It is true as long as that key is down, so it is true a lot of ticks in a row. Each tick it is true, the animation starts to play from the beginning. And you see only frame zero. Just make it a trigger this way.
condition: Key is down
condition: Trigger once while true
action: play animation "thing" from the beginning.