[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Looking for examples: animation with coroutines
- From: Andre Leiradella <andre@...>
- Date: Mon, 04 Feb 2013 12:38:31 -0200
On 01/02/2013 18:33, Peter Slížik wrote:
I have rewritten LÖVE 2D's run loop to use coroutines for animation.
There's a scheduler that has non busy timers (i.e. sleeping coroutines
are resumed only when it's time for them to wake up.)
I have quite a hard time imagining a concrete implementation. Is
somebody on this list familiar with this topic enough to give a few
pointers, book references, or an example maybe?
One problem with this approach is when you have to draw things on the
screen. If you draw inside the coroutines, the order that the drawables
are blitted change because of how the scheduler works. I've implemented
a simple sprite module so that you can specify a sprite priority. I've
rewritten the passing clouds demo and things work just fine.
Another problem I'm facing is to change an object's state. Say you have
a rabbit running using a coroutine. This is implemented with a for loop.
But then a carrot appears, the rabbit should run to get it. You'd have
to check for this state change inside the for loop and act accordingly,
so things can get complicated when you take all states in consideration.
I'm thinking in implementing a state machine for each game object where
each state would be a coroutine, so if the state changes, you just start
(or resume) another coroutine for that object.
All this is WIP, but if you want to take a look at the source code ping
me and I'll send it to you.