Не злитесь, пожалуйста. Я понимаю, что знающий человек может граничить с раздражением, когда его просят помочь советом. И понимаю, что в силу неопытности могу задавать вопросы не так, “как все привыкли”. Но тем не менее: вопрос считаю не банальным. К слову: код игры про курочку, подыхающую без еды и отдыха, если вовремя не покормить, написан и работает исправно. Хочу понять, как можно сократить выгрузку файлов, что бы не прописывать одно и тоже каждый раз. Благодарю за терпение.
И спрошу по другому тогда:
Вопрос в том, что бы сократить количество строк выгрузки файлов.
Вот есть загрузка файлов. как можно выгружать все файлы в одном действии? что бы потом просто ввел переменную с номером и из списка достал нужный мне фаил?:
# ~ загрузка файлов изображений
img_folder = os.path.join(game_folder, 'sprites')
playerimg1 = resource_path('sprites/chikin.png')
playerimg2 = resource_path('sprites/chikin_3.png')
playerimg3 = resource_path('sprites/chikin_2.png')
playerimg_dead = resource_path('sprites/chikin_dead.png')
btn_food_img = resource_path('sprites/btn_food.png')
btn_energy_img = resource_path('sprites/btn_energy.png')
# ~ вариант загрузки файла без хитрости resource_path
health_img = pygame.image.load(os.path.join(img_folder, 'hart1.png'))
energy_img = pygame.image.load(os.path.join(img_folder, 'energy1.png'))
food_img = pygame.image.load(os.path.join(img_folder, 'food.png'))
bg_res = resource_path('sprites/background.png')
player_img1 = pygame.image.load(playerimg1)
player_img2 = pygame.image.load(playerimg2)
player_img3 = pygame.image.load(playerimg3)
player_img_dead = pygame.image.load(playerimg_dead)
btn_food=pygame.image.load(btn_food_img)
btn_energy=pygame.image.load(btn_energy_img)
bg = pygame.image.load(bg_res)
есть классы. Что бы здесь вместо PLYER_IMG1 я вводил ту переменную ^ и просто указывал номер нужного мне файла:
class Player (pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = player_img1 #в этом месте приходится прописывать конкретное имя переменной с файлом.
self.image = pygame.transform.scale(self.image,(scale))
self.rect = self.image.get_rect()
self.rect.center=((int(pl_pos)), (pl_x))
class Health (pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = health_img
self.image = pygame.transform.scale(health_img,(20,20))
self.rect = self.image.get_rect()
self.rect.center=(10, 85)