class RGBSprite(pygame.sprite.DirtySprite, RGB) :
- def __init__(self, alpha=255) :
+ def __init__(self, alpha=255, size=SCREEN_SIZE) :
pygame.sprite.DirtySprite.__init__(self)
- self.dirty = 2 # toujours dirty !
RGB.__init__(self)
-
- self.image = pygame.Surface((640, 480))
- self._regular = pygame.Surface((640, 480))
+ self.dirty = 2 # toujours dirty !
+ self.size = size
+ self.image = pygame.Surface(size)
+ self.workSur = pygame.Surface(SCREEN_SIZE)
self.image.set_alpha(alpha)
self.rect = pygame.Rect((0, 0), (0, 0))
def update(self) :
RGB.update(self)
img = self.capture()
- self._regular.blit(img, (0, 0))
- self.image.blit(pygame.transform.flip(self._regular, True, False), (0, 0))
+ self.workSur.blit(img, (0, 0))
+ self.workSur = pygame.transform.flip(self.workSur, True, False) # miroir
+ if self.size != SCREEN_SIZE :
+ pygame.transform.scale(self.workSur, self.size, self.image) # étirement, blit implicite
+ else :
+ self.image.blit(self.workSur, (0, 0))
def main() :