Nice catch, Ian.   I would never have thought of that.

On Wed, Dec 7, 2011 at 7:25 PM, Andrew Godfroy <killer...@hotmail.com>wrote:

>   Alright, Thank you for explaining it to me :) Now that I know whats
> happening I think I found a Solution. inside if my __init__ I added an
> extra variable “self.oldimage = self.image” Then inside of the rotateimage
> call, I have it set to: “self.image = pygame.transform.rotate
> (self.oldimage, -angle_degrees)”  This way, it will call up the oldimage,
> and save to the new surface.
>
> Thank you for your help Ian
>
>
>  *From:* Ian Mallett <geometr...@gmail.com>
> *Sent:* Wednesday, December 07, 2011 10:05 PM
> *To:* pygame-users@seul.org
> *Subject:* Re: [pygame] [Pygame] Joystick Inputs
>
> On Wed, Dec 7, 2011 at 7:51 PM, Andrew Godfroy <killer...@hotmail.com>wrote:
>
>>   Alright, so If I’m getting you right, I should be using Rotozoom
>> instead of just rotate, and build in a check to see if the previous angle
>> is the same as the last one?
>>
> No.  Think about what's happening.  Try unrolling a couple calls:
>  self.image = pygame.transform.rotate(self.image, #something)
> self.image = pygame.transform.rotate(self.image, #something)
> self.image = pygame.transform.rotate(self.image, #something)
> self.image = pygame.transform.rotate(self.image, #something)
> . . . is equivalent to:
> self.image =
> pygame.transform.rotate(pygame.transform.rotate(pygame.transform.rotate(pygame.transform.rotate(self.image,
> #something), #something), #something), #something)
> Now do you see the problem?  Each image will be larger than the last.
> Plus, you're doing a transformation repeatedly, which hurts image quality.
>
> The attached image demonstrates what's happening.  You're starting with an
> image, then rotating, and then rotating THAT, and so on.  The image gets
> bigger and bigger.  I've drawn the padding as white and black, but they
> probably wouldn't necessarily be those colors.
>
> Ian
>

Reply via email to