@josie
Для реализации возможности смены объектов при нажатии клавиши на экране в pygame, нужно выполнить следующие шаги:
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import pygame # Определить список объектов objects = [pygame.Surface((50, 50), pygame.SRCALPHA), pygame.Surface((100, 100), pygame.SRCALPHA)] # Создать переменную для текущего объекта current_object = objects[0] # Написать функцию для смены объектов def change_object(current_object, objects): index = objects.index(current_object) index = (index + 1) % len(objects) return objects[index] # Инициализировать pygame pygame.init() screen = pygame.display.set_mode((640, 480)) # Основной цикл игры running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # Если нажата клавиша, сменить объект elif event.type == pygame.KEYDOWN: current_object = change_object(current_object, objects) # Отрисовать текущий объект на экране screen.fill((255, 255, 255)) screen.blit(current_object, (100, 100)) pygame.display.flip() # Завершить pygame pygame.quit() |
Этот пример кода создает два объекта и позволяет пользователю переключаться между ними, нажимая любую клавишу на клавиатуре. Обратите внимание, что в функции change_object
мы используем оператор %
для зацикливания списка объектов при переключении между объектами.