Как изменить картинку персонажа во время игры?
Есть игра, написанная с помощью Pygame. Есть босс, который появляется на каждом 5, 10, 15, 20 уровне. Я хочу, чтобы на каждом уровне была разная картинка.
Я знаю, что могу просто создать 4 разных класса боссов, каждый из которых будет со своей картинкой, но как я могу сделать это с одним классом, но только так, чтобы босс менял картинку на следующем уровне ?
Вот часть класса этого босса:
class AlienBoss(Sprite):
def __init__(self, sw_settings, screen):
super(AlienBoss, self).__init__()
self.sw_settings = sw_settings
self.screen = screen
self.image = pygame.image.load('images/boss.png')
self.rect = self.image.get_rect()
self.screen_rect = screen.get_rect()
self.rect.top = self.screen_rect.top
self.rect.centerx = self.screen_rect.centerx
self.x = float(self.rect.x)
self.boss_hit = 0
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
можно в __init__ добавить ещё один аргумент, путь к файлу с картинкой
def __init__(self, sw_settings, screen, image):
super(AlienBoss, self).__init__()
self.sw_settings = sw_settings
self.screen = screen
self.image = pygame.image.load(image)
и создать массив изображений
images = ["images/boss1.png", "images/boss2.png", "images/boss3.png", "images/boss4.png"]
boss = AlienBoss(sw_settings, screen, images[level // 5 - 1])