@kaleigh
В Pygame существует несколько способов создания анимации. Один из способов - это использовать функцию pygame.time.delay()
, чтобы ограничить частоту обновления экрана. Это можно сделать так:
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 36 37 38 39 40 |
import pygame # Инициализируем pygame pygame.init() # Устанавливаем размеры экрана screen_width, screen_height = 640, 480 screen = pygame.display.set_mode((screen_width, screen_height)) # Загружаем изображение image = pygame.image.load("image.png") # Устанавливаем начальную позицию изображения x, y = 0, 0 # Устанавливаем скорость движения dx, dy = 5, 5 # Бесконечный цикл while True: # Перемещаем изображение x += dx y += dy # Если изображение вышло за пределы экрана, то меняем направление движения if x + image.get_width() > screen_width or x < 0: dx *= -1 if y + image.get_height() > screen_height or y < 0: dy *= -1 # Очищаем экран screen.fill((0, 0, 0)) # Рисуем изображение на экране screen.blit(image, (x, y)) # Обновляем экран pygame.display.flip() # Задержка |
@kaleigh
pygame.time.delay(10)
for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit()