π± ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³ΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅: ΠΏΡΠΎΡΡΠΎΠΉ Π³Π°ΠΉΠ΄ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° Python Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Kivy. Kivy - ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ³ΡΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Kivy:
from kivy.app import App
from kivy.uix.label import Label
class GameApp(App):
def build(self):
return Label(text='ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!')
GameApp().run()
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!".
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Kivy, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³Ρ Π½Π° Python.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅
ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈΠ³ΡΡ ΡΡΠ°Π»ΠΈ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ Π½Π°ΡΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π²Π»Π΅ΡΡΡΡ, ΡΠ°ΡΡΠ»Π°Π±ΠΈΡΡΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ΠΌΡ Ρ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅, ΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΠΈ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³ΡΡ.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Pygame
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pygame, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install pygame
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ pip ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³ΡΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pygame ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
import pygame
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Pygame
pygame.init()
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("ΠΠΎΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½Π°Ρ ΠΈΠ³ΡΠ°")
ΠΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΠ΅ Pygame Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ init(). ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ window_width ΠΈ window_height Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ set_mode() ΠΈ Π·Π°Π΄Π°Π΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ set_caption().
Π¨Π°Π³ 3: ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°:
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ running ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ³ΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΡΠ΅ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ event.get() ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅, Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΈΠ³ΡΡ. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ running ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° False, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΈΠ³ΡΡ.
Π¨Π°Π³ 4: ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΌΠΈΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π²ΠΈΠ΄Π΅ ΠΊΡΡΠ³Π°:
x = 400
y = 300
radius = 50
while running:
window.fill((255, 255, 255)) # ΠΠ°Π»ΠΈΠ²ΠΊΠ° ΠΎΠΊΠ½Π° Π±Π΅Π»ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ
pygame.draw.circle(window, (255, 0, 0), (x, y), radius) # ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΡΡΠ³Π°
pygame.display.update()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π°Π΄Π°Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ x, y ΠΈ radius Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΡΡΠ³Π°. ΠΠ½ΡΡΡΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ Π±Π΅Π»ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ fill(), Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΡΡΠ³ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ draw.circle(). ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ display.update().
Π¨Π°Π³ 5: ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ:
while running:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
# ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ "ΠΡΠΎΠ±Π΅Π»"
pass
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡΡΡ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π½Π°ΠΆΠ°ΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ "ΠΡΠΎΠ±Π΅Π»". ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΡΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
Π¨Π°Π³ 6: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ² ΠΈ ΠΌΡΠ·ΡΠΊΠΈ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ² ΠΈ ΠΌΡΠ·ΡΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ³ΡΡ Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ Π²Π°ΡΡΠ²Π°ΡΡΠ΅ΠΉ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΡ Π·Π²ΡΠΊΠ° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ:
sound = pygame.mixer.Sound("sound.wav")
while running:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
sound.play()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ mixer.Sound() Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ "ΠΡΠΎΠ±Π΅Π»" ΡΡΠ½ΠΊΡΠΈΡ play() Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π²ΡΠΊΠ°.
Π¨Π°Π³ 7: Π Π°Π±ΠΎΡΠ° Ρ ΡΠΈΠ·ΠΈΠΊΠΎΠΉ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠ·ΠΈΠΊΡ Π² ΡΠ²ΠΎΡ ΠΈΠ³ΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Pygame Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
import pygame
import pymunk
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΈΡΠ°
space = pymunk.Space()
space.gravity = (0, 1000)
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π° ΠΈ ΡΠΎΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
body = pymunk.Body(1, 100, pymunk.Body.DYNAMIC)
shape = pymunk.Circle(body, 50)
shape.friction = 0.5
shape.elasticity = 0.8
shape.position = (400, 300)
# ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π° Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΈΡ
space.add(body, shape)
# ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
while running:
space.step(1/60)
# ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° Space. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ΅Π»ΠΎ ΠΈ ΡΠΎΡΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Body ΠΈ Circle. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΠ΅ ΡΡΠΈΠΊΡΠΈΡ ΠΈ ΡΠ»Π°ΡΡΠΈΡΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ add(). Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ step() Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠ·ΠΈΠΊΠΈ.
Π¨Π°Π³ 8: Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π΅Π΅. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, Π·Π²ΡΠΊΠΈ ΠΈ ΠΌΡΠ·ΡΠΊΠ° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΠΈ ΡΠΈΠ·ΠΈΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ Π½Π° ΠΠΈΡΠΎΠ½Π΅. ΠΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ²ΠΎΡΡΠ΅ΡΡΠ²Π΅!