Как сделать анимацию в pygame?

Пользователь

от kaleigh , в категории: Python , год назад

Как сделать анимацию в pygame?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elian.swift , год назад

@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()

    # Задержка


Пользователь

от hermina.hauck , 5 месяцев назад

@kaleigh 

pygame.time.delay(10)

Проверяем события

for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit()