class Opicka(pygame.sprite.Sprite): """posunuje opicku po obrazovce. Pokud je pohlazena, zatoci se.""" def __init__(self, image): pygame.sprite.Sprite.__init__(self) #call Sprite intializer self.image, self.rect = nahrajObrazek(image) obrazovka = pygame.display.get_surface() self.oblast = obrazovka.get_rect() self.rect.topleft = 10, 10 self.posun = 9 self.vrteni = 0
def update(self): "jdi nebo se toc podle stavu opicky" if self.vrteni: self._otocka() else: self._jdi()
def _jdi(self): "pohybuj s opickou sem a tam" novaPozice = self.rect.move((self.posun, 0)) if novaPozice.left < self.oblast.left or novaPozice.right > self.oblast.right: self.posun = -self.posun novaPozice = self.rect.move((self.posun, 0)) self.image = pygame.transform.flip(self.image, 1, 0) self.rect = novaPozice
def _otocka(self): "otacej s obrazkem opicky" center = self.rect.center self.vrteni += 12 if self.vrteni >= 360: self.vrteni = 0 self.image = self.original else: self.image = pygame.transform.rotate(self.original, self.vrteni) self.rect = self.image.get_rect() self.rect.center = center
def zasah(self): "zde se zacina opicka otacet" if not self.vrteni: self.vrteni = 1 self.original = self.image
|