def draw(self): Actor.draw(self) if self.world.debug_mode: pt = self.world.camera.offset(self.pos) pygame.draw.circle(self.world.screen, COLOR_WHITE, (int(pt.x), int(pt.y)), 3) pygame.draw.circle( self.world.screen, COLOR_BLACK, (int(pt.x), int(pt.y)), int(PLAYER_DETECTION_LENGTH * self.world.camera.zoom), 1)
def draw(self): Actor.draw(self) if self.world.debug_mode: action_point_rotated = self.action_point.rotate(self.angle) point = self.world.camera.offset(self.pos + action_point_rotated) pygame.draw.circle(self.world.screen, COLOR_WHITE, (int(point.x), int(point.y)), 3) if self.was_tagged: pt = self.world.camera.offset(self.pos) pygame.draw.circle(self.world.screen, COLOR_RED, (int(pt.x), int(pt.y)), int(self.size * self.world.camera.zoom)) self.was_tagged = False
def draw(self, screen, viewport): if not self.picked: Actor.draw(self, screen, viewport)
class Block(Actor): def __init__(self, position, mode=1): super(Block, self).__init__(position) self.mode = mode self.set_image(game.get_image('block_red')) self.icon = Actor((64, 64)) self.icon.set_image(game.get_image('icon_%s' % self.mode)) self.state = 'input' self.state_time = 0 self.target = np.array((0, 0)) self.start_position = np.array((0, 0)) def update(self, delta): super(Block, self).update(delta) self.icon.update(delta) if self.state == 'move': self.position = util.lerp(self.start_position, self.target, self.state_time) self.state_time += 2 * delta if self.state_time >= 1: self.set_state('wait') elif self.state == 'remove': self.position[1] += delta * 64 if self.state_time >= 1: self.is_active = False self.state_time += delta def draw(self, surface): if not self.is_active: return self.rect.center = self.position self.rect.centery = self.position[1] - 8 * np.sin( self.position[0] / 64) self.surface.fill(pg.Color(0, 0, 0, 0)) self.surface.blit(self.image, self.image_rect) self.icon.draw(self.surface) surface.blit(self.surface, self.rect) def increase_mode(self, n): self.mode = (self.mode + n) % 3 self.icon.set_image(game.get_image('icon_%s' % self.mode)) def set_target(self, target): self.target = np.array(target) def set_state(self, new_state): previous_state = self.state self.state = new_state if new_state == 'move': self.start_position = self.position if previous_state == 'move': self.position = self.target self.state_time = 0
def draw(self, window): """ Draws the player """ Actor.draw(self, window) self.image = self.sprite_idle