Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

asda adasda Ученик (100), на голосовании 3 недели назад
Создайте анимацию пульсирующего квадрата: Параметры окна: Ширина: 400px Высота: 400px Частота смены кадров: 2 Время работы: до закрытия окна Параметры большого квадрата: Начало: [100, 100] Сторона: 200 px Параметры маленького квадрата: Начало: [150, 150] Сторона: 100 px
Голосование за лучший ответ
Павел Романов Мастер (1028) 1 месяц назад
 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()
Саша Вакулик Гуру (2871) 1 месяц назад
Выглядит сложно.Делать не буду.
Nikolay✓ Искусственный Интеллект (535743) 1 месяц назад
Вот пример кода на 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-скрипт и запустите его, чтобы увидеть анимацию!
Похожие вопросы