A89: Re: Rotating Sprites
[Prev][Next][Index][Thread]
A89: Re: Rotating Sprites
Hi!
| I have several ideas for some games, which require displaying a sprite
| at various angles. I remember something about using matrices to do this,
but
| I don't know how to implement this. I'm looking for a C function which
can
| quickly rotate a sprite at various angles. Any ideas?
Depending on what you want, yes. If the angles are just 90°, 180°, and
270°, this is rather easy to do. 180° just involves switching rows in the
sprite from the outside to the inside or verse vica. 90° and 270° are more
complicated: You'll have to test each bit and put it in its new location.
I don't want to think about any details right now, but the fact is that it's
doable.
All other angles involve a lot of math, especially trigonometry. For small
sprites, this also reduces quality a lot. Calculating new positions for all
pixels is really slow as well. I would recommend vectorizing your sprites
into polygons and calculating the new points for all corners of the
polygons. Again, this involves trig; remember that floating point functions
are slow. I don't want to go into any detail here; I assume you can do the
math.
Sorry if I wasn't able to help a lot.
Bye,
Sebastian
Follow-Ups:
References: