Створіть проєкт, у якому в результаті настання події KeyPress зміняться розміри вікна, колір фону і зменшиться на 100 пікселів відступ його
лівої межі від лівої межі екрана.
Ответы
Ответ:
Нижче наведено шаблон коду на мові Python з використанням бібліотеки Pygame, який дозволить створити вікно, змінювати його параметри за допомогою події KeyPress та реалізувати зменшення відступу лівої межі на 100 пікселів від лівої межі екрана.
import pygame
# Ініціалізуємо Pygame
pygame.init()
# Визначаємо розміри вікна та колір фону
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
BG_COLOR = (255, 255, 255)
# Створюємо вікно
screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("My Window")
# Відступ лівої межі вікна
left_margin = 0
# Головний цикл програми
running = True
while running:
# Обробляємо події
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
# Якщо було натиснуто клавішу
if event.key == pygame.K_KP_PLUS:
# Збільшуємо розмір вікна
screen = pygame.display.set_mode((WINDOW_WIDTH + 100, WINDOW_HEIGHT))
# Змінюємо колір фону
screen.fill(BG_COLOR)
# Зменшуємо відступ лівої межі вікна
left_margin -= 100
screen.set_clip(pygame.Rect(left_margin, 0, WINDOW_WIDTH, WINDOW_HEIGHT))
elif event.key == pygame.K_KP_MINUS:
# Зменшуємо розмір вікна
screen = pygame.display.set_mode((WINDOW_WIDTH - 100, WINDOW_HEIGHT))
# Змінюємо колір фону
screen.fill(BG_COLOR)
# Збільшуємо відступ лівої межі вікна
left_margin += 100
screen.set_clip(pygame.Rect(left_margin, 0, WINDOW_WIDTH, WINDOW_HEIGHT))
# Оновлюємо вікно
pygame.display.update()
# Завершуємо роботу Pygame
pygame.quit()
У даному коді події KeyPress обробляються у головному циклі програми. Якщо була натиснута клавіша KP_PLUS, то збільшуємо розмір вікна на 100 пікселів, змінюємо колір фону та т.д.