예제 #1
0
 def update(self):
     sx, sy = GLOBALS["screen_size"]
     x, y = self.focus_on.rect.center
     nx = x - sx / 2
     ny = y - sy / 2 - 100
     dx, dy = (nx - self.pos[0], ny - self.pos[1])
     if abs(dx) > 20 or abs(dy) > 20:
         #move to focus position if camera is too off
         self.set_pos((nx, ny))
     else:
         #follow vel
         self.set_vel(self.focus_on.vel)
     Kitten.update(self)
     self.check_max()
예제 #2
0
    def update(self):
        center = self.rect.center

        self.angle += self.angle_add
        if self.angle > 360:
            self.angle = self.angle - 360
        self.image = pygame.transform.rotate(self.image_copy, self.angle)
        self.rect.size = self.image.get_size()
        self.rect.center = center

        if self.center_diff_timer.update():
            #small movement around center
            self.rect.centerx = center[0] + self.center_diff
            self.rect.centery = center[1] + self.center_diff
            self.center_diff *= -1
        self.set_pos(self.rect.topleft)
        Kitten.update(self)
예제 #3
0
    def update(self):
        def draw_eyes(eyes):
            self.image.blit(img, (0, 0))
            self.image.blit(GFX[eyes], self.eye_pos)

        Kitten.update(self)
        img = self.image
        if self.selected:
            img = self.simg

        if self.vel[1] < 0:
            draw_eyes("up")
        elif self.vel[1] > 0:
            draw_eyes("down")
        elif self.vel[0] < 0:
            draw_eyes("left")
        elif self.vel[0] > 0:
            draw_eyes("right")