Exemplo n.º 1
0
    def update(self, window):
        direction = Vector(0, 0)
        if window.keys[key.LEFT]:
            direction.x = -1
            self.side = Side.LEFT
            self._update_step()
        if window.keys[key.RIGHT]:
            direction.x = 1
            self.side = Side.RIGHT
            self._update_step()
        if window.keys[key.UP]:
            direction.y = 1
            self.side = Side.UP
            self._update_step()
        if window.keys[key.DOWN]:
            direction.y = -1
            self.side = Side.DOWN
            self._update_step()
        if window.keys[key.LSHIFT] or window.keys[key.RSHIFT]:
            self.speed = 2
        else:
            self.speed = 4
        self.pushing = bool(window.keys[key.SPACE])

        self._update_frame()
        if direction != Vector(0, 0):
            direction = direction * self.speed
            self.rect.move(direction.x, direction.y)
            self._check_map_collision(direction.x, direction.y)
            self._adjust_rectangle()
            self._update_camera(window)