Beispiel #1
0
    def get_unscaled_portal_sprites():
        portalsheet = Spritesheet('images/portals.png')
        portal_images_unscaled = [
            portalsheet.get_image(x=364, y=7, w=177, h=176),
            portalsheet.get_image(x=553, y=14, w=163, h=163),
            portalsheet.get_image(x=7, y=222, w=161, h=159),
            portalsheet.get_image(x=193, y=220, w=155, h=158),
            portalsheet.get_image(x=373, y=222, w=159, h=158),
            portalsheet.get_image(x=553, y=220, w=163, h=163)
        ]

        return portal_images_unscaled
 def __init__(self, game, pos_x, pos_y, color, name):
     super(AxeToolButton, self).__init__(game, pos_x, pos_y, color, name)
     spritesheet_file = 'assets/tools.png'
     spritesheet = Spritesheet(spritesheet_file)
     self.image = spritesheet.get_image((0, 0), (32, 32))
     self.image = pg.transform.scale(self.image, (100, 100))
     self.damage = 2
Beispiel #3
0
    def get_fruit_sprites():
        spritesheet = Spritesheet('images/spritesheet.png')

        fruit_images = [
            spritesheet.get_image(x=(24 * 0), y=(24 * 5), w=24,
                                  h=24),  # cherries
            spritesheet.get_image(x=(24 * 1), y=(24 * 5), w=24,
                                  h=24),  # strawberry
            spritesheet.get_image(x=(24 * 2), y=(24 * 5), w=24,
                                  h=24),  # orange
            spritesheet.get_image(x=(24 * 3), y=(24 * 5), w=24, h=24),  # ?????
            spritesheet.get_image(x=(24 * 4), y=(24 * 5), w=24, h=24),  # apple
            spritesheet.get_image(x=(24 * 5), y=(24 * 5), w=24,
                                  h=24),  # grapes
        ]

        return fruit_images
Beispiel #4
0
    def __init__(self):
        super().__init__()
        self.state = 2

        sprite_sheet = Spritesheet("art/crosshair.png")

        self.states = []
        image = sprite_sheet.get_image(0, 0, 30, 30)
        self.states.append(image)
        image = sprite_sheet.get_image(0, 30, 30, 30)
        self.states.append(image)
        image = sprite_sheet.get_image(0, 60, 30, 30)
        self.states.append(image)

        self.image = self.states[self.state]

        self.rect = self.image.get_rect()
Beispiel #5
0
    def __init__(self, x, y, current_room):
        super().__init__((x - 10), (y - 10), current_room, colors.red, 20, 20)
        self.target_goblin = None
        self.speed = 3
        self.goblins_eaten = 0
        self.lifetime_goblins_eaten = 0
        self.change_x = 0
        self.change_y = 0
        self.age = 0
        self.ticks_without_food = 0
        self.food_type = goblin.Goblin
        self.home_hut = None
        self.frame = 0
        self.killing = 'No'

        self.walking_frames_r = []
        self.walking_frames_l = []
        self.kill_frames_r = []
        self.kill_frames_l = []

        sprite_sheet = Spritesheet("art/ogre_spritesheet.png")
        # Load all the right facing images into a list

        image = sprite_sheet.get_image(0, 0, 20, 20)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(21, 0, 20, 20)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 0, 20, 20)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(42, 0, 20, 20)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(0, 0, 20, 20)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(21, 0, 20, 20)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 0, 20, 20)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(42, 0, 20, 20)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(21, 42, 20, 20)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)

        image = sprite_sheet.get_image(42, 42, 20, 20)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)
        self.kill_frames_r.append(image)

        image = sprite_sheet.get_image(21, 42, 20, 20)
        image = pygame.transform.flip(image, True, False)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)

        image = sprite_sheet.get_image(42, 42, 20, 20)
        image = pygame.transform.flip(image, True, False)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)
        self.kill_frames_l.append(image)

        self.face = 'R'
        self.image = self.walking_frames_r[self.frame]
 def __init__(self, image, width, height, coordinates):
     pygame.sprite.Sprite.__init__(self)
     sheet = Spritesheet(image)
     self.image = sheet.get_image(coordinates)
     self.image = pygame.transform.scale(self.image, (width, height))
     self.rect = self.image.get_rect()
Beispiel #7
0
    def __init__(self, x, y, current_room):
        super().__init__((x - 7), (y - 7), current_room, colors.green, 15, 15)
        self.speed = 2
        self.coins_collected = 0
        self.lifetime_coins = 0
        self.target_coin = None
        self.max_age = 2000
        self.max_hunger = 300
        self.change_x = 0
        self.change_y = 0
        self.age = 0
        self.ticks_without_food = 0
        self.food_type = coin.Coin
        self.pit = None

        self.frame = 0

        self.walking_frames_r = []
        self.walking_frames_l = []
        self.walking_frames_d = []
        self.walking_frames_u = []

        sprite_sheet = Spritesheet("art/goblin_spritesheet.png")
        # Load all the right facing images into a list

        image = sprite_sheet.get_image(0, 0, 15, 15)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        image = sprite_sheet.get_image(16, 0, 15, 15)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        image = sprite_sheet.get_image(0, 0, 15, 15)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        image = sprite_sheet.get_image(32, 0, 15, 15)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(0, 16, 15, 15)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        image = sprite_sheet.get_image(16, 16, 15, 15)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        image = sprite_sheet.get_image(0, 16, 15, 15)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        image = sprite_sheet.get_image(32, 16, 15, 15)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)
        self.walking_frames_u.append(image)

        image = sprite_sheet.get_image(0, 32, 15, 15)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(16, 32, 15, 15)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 32, 15, 15)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(32, 32, 15, 15)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(0, 32, 15, 15)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(16, 32, 15, 15)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 32, 15, 15)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(32, 32, 15, 15)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)
        self.walking_frames_l.append(image)

        self.face = 'R'
        self.image = self.walking_frames_d[self.frame]
Beispiel #8
0
class AnimalCrossingCharacter(pg.sprite.Sprite):
    def __init__(self, game, pos_x, pos_y):
        self.game = game
        groups = game.all_sprites, game.character_sprites
        pg.sprite.Sprite.__init__(self, groups)
        self.pos = vec2(pos_x, pos_y)
        self.health = 100
        self.moving_out_counter = 0
        self.moving_out_wait_start_time = None
        self.moved_out = False
        self._idle_sprites = []
        self._hit_sprites = []
        self._angry_sprites = []
        self._spritesheet_file = 'assets/moose.png'
        self._spritesheet = Spritesheet(self._spritesheet_file)
        self._load_default_sprite()
        self._load_sprites()
        self.rect = self.image.get_rect(topleft=self.pos)
        self.state = CharacterState.IDLE
        self._animation_counter = 0
        self._animation_index = 0
        self._hit_animation_counter = 0
        self._angry_animation_counter = 0

    def _load_default_sprite(self):
        self.image = self._spritesheet.get_image((0, 0), ((32, 32)))
        self.image = pg.transform.scale(self.image, (400, 400))

    def _load_sprites(self):
        sprite_size = (32, 32)
        self._idle_sprites.append(
            self._spritesheet.get_image((0, 0), sprite_size))
        self._idle_sprites.append(
            self._spritesheet.get_image((0, 32), sprite_size))

        self._hit_sprites.append(
            self._spritesheet.get_image((0, 64), sprite_size))

        self._angry_sprites.append(
            self._spritesheet.get_image((0, 96), sprite_size))
        self._angry_sprites.append(
            self._spritesheet.get_image((0, 128), sprite_size))
        self._angry_sprites.append(
            self._spritesheet.get_image((0, 160), sprite_size))

    def update(self):
        self._update_active_sprite()

        if self.health <= 0 and not self.moved_out:
            self.state = CharacterState.ANGRY
            self.game.end_dialog_text.show_text = True
            self.moving_out_wait_start_time = pg.time.get_ticks()
            self.moved_out = True

        if self.moving_out_wait_start_time and self.moved_out:
            time_since_start = pg.time.get_ticks(
            ) - self.moving_out_wait_start_time
            if time_since_start >= 5000:
                self.moved_out = False
                self.moving_out_counter += 1
                self.health = 100
                self.game.end_dialog_text.show_text = False
                self.moving_out_wait_start_time = 0

    def get_hit(self, damage):
        self.health -= damage
        self.state = CharacterState.HIT

    def _update_active_sprite(self):
        if self._animation_counter >= 60:
            if self.state == CharacterState.IDLE:
                self.image = self._idle_sprites[self._animation_index %
                                                len(self._idle_sprites)]
            elif self.state == CharacterState.ANGRY:
                self.image = self._angry_sprites[self._animation_index %
                                                 len(self._angry_sprites)]
                self._angry_animation_counter += 1
                if self._angry_animation_counter >= 8:
                    self.state = CharacterState.IDLE
                    self._angry_animation_counter = 0

            elif self.state == CharacterState.HIT:
                self.image = self._hit_sprites[self._animation_index %
                                               len(self._hit_sprites)]
                self._hit_animation_counter += 1
                if self._hit_animation_counter >= 2:
                    self.state = CharacterState.IDLE
                    self._hit_animation_counter = 0
            self.image = pg.transform.scale(self.image, (400, 400))
            self._animation_index += 1
            self._animation_counter = 0
        else:
            self._animation_counter += 2

    def handle_event(self, event):
        pass
screen = pygame.display.set_mode((400,400))
pygame.display.set_caption("spritesheet test")
clock = pygame.time.Clock()
font_name = pygame.font.match_font("arial")
font = pygame.font.Font(font_name, 20)
spritesheet = Spritesheet(png_path)

images = list()

for element in root:
    d = element.attrib
    name = d["name"].split(".")[0]
    name = name.replace("_", " ")
    coord = (d["x"],d["y"],d["width"],d["height"],1)
    coord = map(int,coord)
    surface = spritesheet.get_image(*coord)
    images += [(name,coord,surface)]

running = True
frame = 0
right,left = False,False
while running:
    clock.tick(30)
    for event in pygame.event.get():
        if event.type == pygame.QUIT: running = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RIGHT: right = True
            if event.key == pygame.K_LEFT: left = True
            if event.key == pygame.K_d: frame = (frame+1)%len(images)
            if event.key == pygame.K_a: frame = (frame-1)%len(images)
            if event.key == pygame.K_SPACE: print(name,tuple(coord))
Beispiel #10
0
    def __init__(self):
        super().__init__()
        self.change_x = 0
        self.change_y = 0
        self.current_level = None
        self.weapon_list = []
        self.current_weapon = 0
        self.weapon = None
        self.speed = 5
        self.face = 'R'
        self.frame = 0
        self.firing = False
        self.max_health = 100
        self.health = 100
        self.arm_state = 3
        self.webcounter = 0
        self.crouched = False
        self.try_stand = False

        pistol = weapons.Pistol()
        self.weapon_list.append(pistol)

        self.weapon = self.weapon_list[self.current_weapon]

        self.arm_images = []
        sprite_sheet = Spritesheet("art/shootman_arms.png")
        image = sprite_sheet.get_image(0, 0, 65, 72)
        self.arm_images.append(image)
        image = sprite_sheet.get_image(65, 0, 65, 72)
        self.arm_images.append(image)
        image = sprite_sheet.get_image(130, 0, 65, 72)
        self.arm_images.append(image)
        image = sprite_sheet.get_image(195, 0, 65, 72)
        self.arm_images.append(image)
        image = sprite_sheet.get_image(260, 0, 65, 72)
        self.arm_images.append(image)
        image = sprite_sheet.get_image(325, 0, 65, 72)
        self.arm_images.append(image)
        image = sprite_sheet.get_image(390, 0, 65, 72)
        self.arm_images.append(image)

        sprite_sheet = Spritesheet("art/shootman_sheet.png")

        self.walking_frames_r = []

        image = sprite_sheet.get_image(10, 0, 50, 85)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(75, 0, 50, 85)
        for x in range(7):
            self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(140, 0, 50, 85)
        for x in range(7):
            self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(205, 0, 50, 85)
        for x in range(7):
            self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(140, 0, 50, 85)
        for x in range(7):
            self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(270, 0, 50, 85)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(335, 0, 50, 85)
        self.walking_frames_r.append(image)

        self.image = self.walking_frames_r[self.frame]

        self.crouched_frames_r = []

        image = sprite_sheet.get_image(10, 95, 50, 75)
        self.crouched_frames_r.append(image)
        image = sprite_sheet.get_image(75, 95, 50, 75)
        for x in range(7):
            self.crouched_frames_r.append(image)
        image = sprite_sheet.get_image(140, 95, 50, 75)
        for x in range(7):
            self.crouched_frames_r.append(image)
        image = sprite_sheet.get_image(205, 95, 50, 75)
        for x in range(7):
            self.crouched_frames_r.append(image)
        image = sprite_sheet.get_image(140, 95, 50, 75)
        for x in range(7):
            self.crouched_frames_r.append(image)
        image = sprite_sheet.get_image(10, 95, 50, 75)
        self.crouched_frames_r.append(image)

        self.rect = self.image.get_rect()

        self.rect.x = 120
        self.rect.y = 520
Beispiel #11
0
class SpriteStore:
    def __init__(self):

        self.sprite_sheet = Spritesheet('images/spritesheet.png')

        self.pacman = self.get_pacman_sprites()
        self.blinky = self.get_blinky_sprites()
        self.pinky = self.get_pinky_sprites()
        self.clyde = self.get_clyde_sprites()
        self.inkey = self.get_inkey_sprites()
        self.portal = self.get_unscaled_portal_sprites()
        self.fruits = self.get_fruit_sprites()
        self.pac_life = self.sprite_sheet.get_image(x=(24 * 2),
                                                    y=(24 * 3),
                                                    w=24,
                                                    h=24)

    # Returns list of (Pac-man) images
    def get_pacman_sprites(self):

        pacman_images = [
            self.sprite_sheet.get_image(x=(24 * 0), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 2), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 0), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 6), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 4), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 3), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 1), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 7), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 5), y=(24 * 3), w=24, h=24)
        ]

        return pacman_images

    def get_pacman_dying_sprites(self):
        pacman_dying_images = [
            self.sprite_sheet.get_image(x=(24 * 0), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 3), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 1), y=(24 * 3), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 4), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 5), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 6), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 7), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 8), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 9), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 10), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 11), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 12), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 13), y=(24 * 7), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 14), y=(24 * 7), w=24, h=24),
        ]
        return pacman_dying_images

    # Returns list of (Inkey) images
    def get_blinky_sprites(self):

        blinky_images = [
            self.sprite_sheet.get_image(x=(24 * 0), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 1), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 2), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 3), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 4), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 5), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 6), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 7), y=(24 * 6), w=24, h=24)
        ]

        return blinky_images

    # Returns list of (Inkey) images
    def get_pinky_sprites(self):

        pinky_images = [
            self.sprite_sheet.get_image(x=(24 * 0), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 1), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 2), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 3), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 4), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 5), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 6), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 7), y=(24 * 8), w=24, h=24)
        ]

        return pinky_images

    # Returns list of (Inkey) images
    def get_clyde_sprites(self):

        clyde_images = [
            self.sprite_sheet.get_image(x=(24 * 0), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 1), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 2), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 3), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 4), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 5), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 6), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 7), y=(24 * 9), w=24, h=24)
        ]

        return clyde_images

    # Returns list of (Inkey) images
    def get_inkey_sprites(self):

        inkey_images = [
            self.sprite_sheet.get_image(x=(24 * 8), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 9), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 10), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 11), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 12), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 13), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 14), y=(24 * 8), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 15), y=(24 * 8), w=24, h=24)
        ]

        return inkey_images

    def get_ghost_running_away_sprites(self):
        running_away_images = [
            self.sprite_sheet.get_image(x=(24 * 6), y=(24 * 4), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 7), y=(24 * 4), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 8), y=(24 * 4), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 9), y=(24 * 4), w=24, h=24)
        ]

        return running_away_images

    def get_ghost_eyes_sprites(self):

        eyes_images = [
            self.sprite_sheet.get_image(x=(24 * 8), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 9), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 10), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 11), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 12), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 13), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 14), y=(24 * 9), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 15), y=(24 * 9), w=24, h=24)
        ]
        return eyes_images

    def get_numbers(self):
        numbers = [
            self.sprite_sheet.get_image(x=(24 * 8), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 9), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 10), y=(24 * 6), w=24, h=24),
            self.sprite_sheet.get_image(x=(24 * 11), y=(24 * 6), w=24, h=24)
        ]
        return numbers

    @staticmethod
    # Returns list of unscaled (Portal) images
    def get_unscaled_portal_sprites():
        portalsheet = Spritesheet('images/portals.png')
        portal_images_unscaled = [
            portalsheet.get_image(x=364, y=7, w=177, h=176),
            portalsheet.get_image(x=553, y=14, w=163, h=163),
            portalsheet.get_image(x=7, y=222, w=161, h=159),
            portalsheet.get_image(x=193, y=220, w=155, h=158),
            portalsheet.get_image(x=373, y=222, w=159, h=158),
            portalsheet.get_image(x=553, y=220, w=163, h=163)
        ]

        return portal_images_unscaled

    @staticmethod
    def get_fruit_sprites():
        spritesheet = Spritesheet('images/spritesheet.png')

        fruit_images = [
            spritesheet.get_image(x=(24 * 0), y=(24 * 5), w=24,
                                  h=24),  # cherries
            spritesheet.get_image(x=(24 * 1), y=(24 * 5), w=24,
                                  h=24),  # strawberry
            spritesheet.get_image(x=(24 * 2), y=(24 * 5), w=24,
                                  h=24),  # orange
            spritesheet.get_image(x=(24 * 3), y=(24 * 5), w=24, h=24),  # ?????
            spritesheet.get_image(x=(24 * 4), y=(24 * 5), w=24, h=24),  # apple
            spritesheet.get_image(x=(24 * 5), y=(24 * 5), w=24,
                                  h=24),  # grapes
        ]

        return fruit_images

    @staticmethod
    def get_small_logo():
        image = pg.image.load('images/logo.png')
        scaled_image = pg.transform.scale(image, (150, 50))
        return scaled_image

    @staticmethod
    def get_bigger_logo():
        image = pg.image.load('images/logo.png')
        scaled_image = pg.transform.scale(image, (450, 200))
        return scaled_image
Beispiel #12
0
    def __init__(self):
        super().__init__()
        self.health = 30
        self.speed = 1
        self.change_x = 0
        self.change_y = 1
        self.frame = 0
        self.dead = False
        self.death_sound = assets.spider_death_sound
        self.shoot_timer = 5
        self.alt_shoot_timer = 20
        self.fire_sound = assets.web_shoot_sound
        self.altfire_sound = assets.blob_shoot_sound

        self.walking_frames = []
        self.death_frames = []

        sprite_sheet = Spritesheet("art/spider_sheet.png")
        image = sprite_sheet.get_image(0, 0, 90, 45)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        image = sprite_sheet.get_image(90, 0, 90, 45)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        image = sprite_sheet.get_image(0, 0, 90, 45)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        image = sprite_sheet.get_image(180, 0, 90, 45)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        sprite_sheet = Spritesheet("art/spider_death_sheet.png")
        image = sprite_sheet.get_image(0, 0, 105, 90)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(105, 0, 105, 90)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(210, 0, 105, 90)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        self.image = self.walking_frames[self.frame]
        self.rect = self.image.get_rect()
Beispiel #13
0
    def __init__(self):
        super().__init__()
        self.health = 80
        self.speed = 0.1
        self.change_x = 0
        self.change_y = 1
        self.frame = 0
        self.dead = False
        self.death_sound = assets.spider_death_sound
        self.shoot_timer = 60
        self.alt_shoot_timer = 10
        self.fire_sound = assets.missile_fire

        self.walking_frames = []
        self.death_frames = []

        sprite_sheet = Spritesheet("art/robot_sheet.png")
        image = sprite_sheet.get_image(0, 0, 45, 47)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        image = sprite_sheet.get_image(45, 0, 45, 47)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        image = sprite_sheet.get_image(0, 0, 45, 47)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        image = sprite_sheet.get_image(135, 0, 45, 47)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)
        self.walking_frames.append(image)

        sprite_sheet = Spritesheet("art/robot_death_sheet.png")
        image = sprite_sheet.get_image(0, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(50, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(100, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(150, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(200, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(250, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(300, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        image = sprite_sheet.get_image(350, 0, 50, 60)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)
        self.death_frames.append(image)

        self.image = self.walking_frames[self.frame]
        self.rect = self.image.get_rect()