Top.Mail.Ru
Ответы

Решить вопрос в питоне используя модуль pygame и time

Создайте анимацию пульсирующего квадрата: Параметры окна: Ширина: 400px Высота: 400px Частота смены кадров: 2 Время работы: до закрытия окна Параметры большого квадрата: Начало: [100, 100] Сторона: 200 px Параметры маленького квадрата: Начало: [150, 150] Сторона: 100 px

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
4мес

Вот пример кода на Python с использованием модуля Pygame, который создает анимацию пульсирующего квадрата в окне размером 400x400 пикселей. Большой квадрат будет менять свой размер, а маленький квадрат останется фиксированным.

import pygame
import time

# Инициализация Pygame
pygame.init()

# Параметры окна
width, height = 400, 400
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Пульсирующий квадрат")

# Цвета
color_large_square = (0, 128, 255) # Синий цвет
color_small_square = (255, 0, 0) # Красный цвет

# Параметры квадратов
large_square_start = [100, 100]
large_square_size = 200
small_square_start = [150, 150]
small_square_size = 100

# Частота смены кадров
clock = pygame.time.Clock()
fps = 2 # 2 кадра в секунду

# Основной цикл
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

# Отрисовка фона
screen.fill((255, 255, 255)) # Белый фон

# Пульсация большого квадрата
current_time = time.time()
pulse_size = int(50 * (1 + 0.5 * (1 + pygame.math.sin(current_time * 2)))) # Пульсация от 50 до 100
large_square_size = 200 + pulse_size

# Рисуем большой квадрат
pygame.draw.rect(screen, color_large_square,
(large_square_start[0] - (large_square_size - 200) // 2,
large_square_start[1] - (large_square_size - 200) // 2,
large_square_size,
large_square_size))

# Рисуем маленький квадрат
pygame.draw.rect(screen, color_small_square,
(small_square_start[0],
small_square_start[1],
small_square_size,
small_square_size))

# Обновление экрана
pygame.display.flip()

# Установка частоты смены кадров
clock.tick(fps)

# Завершение Pygame
pygame.quit()

как работает код:
Инициализация Pygame: Мы начинаем с инициализации Pygame и создания окна нужного размера.
Цвета и параметры квадратов: Устанавливаются цвета и параметры для больших и маленьких квадратов.
Основной цикл: В этом цикле происходит обработка событий (например, закрытие окна), отрисовка квадратов и обновление экрана.
Пульсация: Используется функция sin для создания эффекта пульсации большого квадрата. Он будет изменять свой размер в зависимости от времени.
Частота смены кадров: Устанавливается частота смены кадров на 2 кадра в секунду.
Просто скопируйте этот код в Python-скрипт и запустите его, чтобы увидеть анимацию!

Аватар пользователя
4мес

Выглядит сложно.Делать не буду.

Аватар пользователя
Мастер
4мес
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
 import pygame 
import time 
 
# Инициализация pygame 
pygame.init() 
 
# Параметры окна 
WIDTH, HEIGHT = 400, 400 
FPS = 2  # Частота смены кадров 
 
# Создание окна 
screen = pygame.display.set_mode((WIDTH, HEIGHT)) 
pygame.display.set_caption("Пульсирующий квадрат") 
 
# Цвета 
WHITE = (255, 255, 255) 
BLACK = (0, 0, 0) 
 
# Координаты и размеры квадратов 
big_square_pos = (100, 100) 
big_square_size = 200 
small_square_pos = (150, 150) 
small_square_size = 100 
 
# Флаг для переключения состояний 
is_small_visible = True 
 
# Главный цикл 
running = True 
clock = pygame.time.Clock() 
while running: 
    screen.fill(WHITE)  # Очистка экрана 
     
    # Отрисовка большого квадрата 
    pygame.draw.rect(screen, BLACK, (*big_square_pos, big_square_size, big_square_size)) 
     
    # Переключение состояния маленького квадрата 
    if is_small_visible: 
        pygame.draw.rect(screen, WHITE, (*small_square_pos, small_square_size, small_square_size)) 
     
    # Обновление экрана 
    pygame.display.flip() 
     
    # Задержка 
    time.sleep(0.5) 
     
    # Переключение состояния 
    is_small_visible = not is_small_visible 
     
    # Обработка событий 
    for event in pygame.event.get(): 
        if event.type == pygame.QUIT: 
            running = False 
     
    clock.tick(FPS) 
 
pygame.quit()