I commented out all references to sprite.clear_queue() in the code because clearing the event queue was effectively clearing all future events (key presses, mouse clicks).
We need to keep a list of events separate from the animation queue. Each time we pop one animation event off the animation queue for a sprite, we can then look at the event queue for more animation events.
This way if one event queues multiple animation events that take a long time we can choose to reset the event queue without messing up the current animation. This will be closer to the behavior in javascript.
I commented out all references to
sprite.clear_queue()in the code because clearing the event queue was effectively clearing all future events (key presses, mouse clicks).We need to keep a list of events separate from the animation queue. Each time we pop one animation event off the animation queue for a sprite, we can then look at the event queue for more animation events.
This way if one event queues multiple animation events that take a long time we can choose to reset the event queue without messing up the current animation. This will be closer to the behavior in javascript.