π¨ ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Python Pygame: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Python Pygame
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Pygame, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("ΠΠΎΡ ΠΈΠ³ΡΠ°")
# Π€ΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ
def draw_button(x, y, width, height, text):
pygame.draw.rect(screen, WHITE, (x, y, width, height))
font = pygame.font.Font(None, 36)
text = font.render(text, True, BLACK)
text_rect = text.get_rect(center=(x + width/2, y + height/2))
screen.blit(text, text_rect)
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΈΠ³ΡΡ
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# ΠΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π°
screen.fill(BLACK)
# ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ
draw_button(300, 200, 200, 50, "ΠΠ°ΠΆΠΌΠΈ ΠΌΠ΅Π½Ρ")
# ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
pygame.display.flip()
# ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Pygame
pygame.quit()
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΠ½ΠΎ Pygame ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ "ΠΠ°ΠΆΠΌΠΈ ΠΌΠ΅Π½Ρ". ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Python Pygame
Pygame - ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΈΠ³Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΈΠ³ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊ ΡΡΠΎΠ²Π½Π΅ΠΉ, ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠΎΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π² Pygame Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ° Button:
import pygame
class Button:
def __init__(self, x, y, width, height, color, text, text_color):
self.rect = pygame.Rect(x, y, width, height)
self.color = color
self.text = text
self.text_color = text_color
def draw(self, screen):
pygame.draw.rect(screen, self.color, self.rect)
font = pygame.font.Font(None, 25)
text = font.render(self.text, True, self.text_color)
text_rect = text.get_rect(center=self.rect.center)
screen.blit(text, text_rect)
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
# ΠΡΠΊΡΡΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("ΠΠ½ΠΎΠΏΠΊΠ° Π² Pygame")
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ
button = Button(300, 250, 200, 50, RED, "ΠΠ°ΠΆΠΌΠΈ ΠΌΠ΅Π½Ρ", WHITE)
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
if button.rect.collidepoint(event.pos):
print("ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°!")
screen.fill(WHITE)
button.draw(screen)
pygame.display.flip()
# ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Pygame
pygame.quit()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Button, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ (__init__), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ²Π΅Ρ, ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ°. ΠΠ΅ΡΠΎΠ΄ draw ΡΠΈΡΡΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pygame.
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x ΠΈ y, ΡΠΈΡΠΈΠ½Ρ, Π²ΡΡΠΎΡΡ, ΡΠ²Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΡΠ΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π±ΡΠ»Π° Π»ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pygame. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
pip install pygame
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .py, Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°!" Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Pygame ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² ΠΈΠ³ΡΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ. ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ.