PyGame and Rotozoom (Sorry if OT)
Lee Harr
lee at example.com
Fri May 20 16:38:45 EDT 2005
On 2005-05-20, J. W. McCall <jmccall at houston.rr.com> wrote:
> I'm not sure if this is off-topic, since it doesn't deal with Python
> itself, but here goes:
>
> I'm messing around with writing a simple "game" where the player (a
> crudely drawn smiley face) moves by rotating and moving back or forward
> (think Resident Evil, but from an always-above view). After much
> hacking, I have it working where left and right rotate the player sprite
> and up always moves the sprite whichever direction it's facing, while
> down is reverse. I'm using pygame.transform.RotoZoom().
>
> My problem is that it doesn't rotate smoothly. When it rotates, the
> corners of the image (just a plain white background) look like they're
> hitting some barrier and making it move around. Think of an empty box
> turned diagonally (so that it looks like a diamond, with its open end
> facing you), and a cube in that box being turned while it's resting in
> the bottom corner. I want it to rotate smoothly around its center, it's
> it's not doing that.
>
> I'm guessing that it has something to do with me not setting up a Rect
> right, but I'm not sure. Maybe this is a limitation of Rotozoom/Rotate?
>
> Any advice would be greatly appreciated. And yes, I'm a rank PyGame newbie.
>
You might want to try pygsear:
http://www.nongnu.org/pygsear/
It has a RotatedImage class which takes care of rotating
things for you. See the examples roti.py and wings.py
for some use of rotated image sprites.
More information about the Python-list
mailing list