ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΉΠ³Π΅ΠΉΠΌ Π½Π° Π²ΠΈΠ½Π΄ΠΎΠ²Ρ
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΡ Π½Π° Python β ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Python β ΡΠ°ΠΌΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ, ΠΈ ΠΎΠ½ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΠ³Ρ.
Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ pygame, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³Ρ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΠΎΠΉΠΌΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ³ΡΡ Π½Π° Python Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Pygame Ρ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π·Π²ΡΠΊΠΎΠΌ.
Pygame β ΡΡΠΎ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ. ΠΠ½Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΠΈΡΠΎΠΌ Π¨ΠΈΠ½Π½Π΅ΡΡΠΎΠΌ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ PySDL.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Pygame
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ pygame.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· IDE. ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ pygame(https://www.javatpoint.com/pygame). ΠΠ΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ pygame.
ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Pygame
ΠΠΎΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° pygame.
ΠΡΡ Π³ΡΠ°ΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΎΠΊΠ½Π΅ pygame.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
import pygame β ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ pygame.
pygame.init() β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ pygame.
pygame.display.set_mode((ΡΠΈΡΠΈΠ½Π°, Π²ΡΡΠΎΡΠ°)) β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π°. ΠΠ½ Π²Π΅ΡΠ½Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ. ΠΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
pygame.event.get() β Π΄Π΅Π»Π°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΡΡΠΎΠΉ. ΠΡΠ»ΠΈ ΠΌΡ Π΅Π³ΠΎ Π½Π΅ Π½Π°Π·ΠΎΠ²Π΅ΠΌ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΠΊΠ½Π΅ Π½Π°ΡΠ½ΡΡ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ, ΠΈ ΠΈΠ³ΡΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
pygame.QUIT β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΡΠ΅ΡΡΠΈΠΊ Π² ΡΠ³Π»Ρ ΠΎΠΊΠ½Π°.
pygame.display.flip() β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ³ΡΡ. ΠΡΠ»ΠΈ ΠΌΡ Π²Π½Π΅ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ display.flip().
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΡΠΎΡΠΌΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ pygame, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΈΡΡ. Pygame ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΡΠΈ ΡΠΎΡΠΌΡ β Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°ΠΏ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ³ΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ³ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π½Π°ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΏΡΡΠΌΠ°Ρ Π»ΠΈΠ½ΠΈΡ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΠ»Π»ΠΈΠΏΡ, ΠΊΡΡΠ³, Π΄ΡΠ³Π°, Π·Π°ΠΊΡΠ°ΡΠ΅Π½Π½ΡΠΉ ΠΊΡΡΠ³ ΠΈ ΠΎΠ²Π°Π». ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ pygame.draw Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΎΡΠΌΠΎΠΉ Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΡ Snake Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Pygame
ΠΡΠ»ΠΈ Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠ½Π΅ΡΡΡ ΡΠ΅Π±Ρ, ΠΎΠ½Π° Π·Π°Π²Π΅ΡΡΠΈΡ ΠΈΠ³ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ³ΡΠ°ΡΡ ΡΠ½ΠΎΠ²Π°, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Pycharm(ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Pycharm IDE; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ Python IDE).
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ²ΠΎΡ ΡΡΠ΅Π΄Ρ IDE ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΠΉΡΠ΅ ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Pygame, ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ Π½Π°Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ Pygame.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ Π½Π° Python 3 ΠΈ Pygame: Π§Π°ΡΡΡ 1
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΠ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Ρ ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ³ΡΡ. ΠΠ΅ Π²ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ³Ρ, Π½ΠΎ Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ³ΡΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° (Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΈ Ρ Π²ΡΠ³ΠΎΠ΄ΠΎΠΉ). Π ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅, ΡΠΎΡΡΠΎΡΡΠ΅ΠΌ ΠΈΠ· ΠΏΡΡΠΈ ΡΠ°ΡΡΠ΅ΠΉ, Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄Π²ΡΡ ΠΌΠ΅ΡΠ½ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ³ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python 3 ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° PyGame.
ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²Π΅ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ³ΡΡ Breakout. ΠΡΠ²ΠΎΠΈΠ² ΡΡΠΎΡ ΡΡΡΠΎΡΠΈΠ°Π», Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΡΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³ΡΡ, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Pygame ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ³ΡΡ.
ΠΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
ΠΡΠ°ΡΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ
ΠΠ»Π°Π²Π½ΠΎΠ΅ Π² ΠΈΠ³ΡΠ°Ρ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ ΠΈΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΡΡΠΌ. ΠΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³ΡΠ°Ρ Π΅ΡΡΡ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΠ³ΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ»
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» (main loop) ΠΈΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΊΡΠ°Π½ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΊΠ°Π΄ΡΠΎΠ² ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ»Π°Π²Π½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΠ³ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΊΡΠ°Π½ 30-60 ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π΄ΡΡΠ³Π°ΡΡΡΡ.
ΠΠ½ΡΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π΅ΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ³ΡΡ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ
Π‘ΠΎΠ±ΡΡΠΈΡ Π² ΠΈΠ³ΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ³ΡΡ, Π½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ³ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² Breakout ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ»Π°Π²ΠΈΡΡ Β«ΡΡΡΠ΅Π»ΠΊΠ° Π²Π»Π΅Π²ΠΎΒ», ΡΠΎ ΠΈΠ³ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΊΠ΅ΡΠΊΡ Π²Π»Π΅Π²ΠΎ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ (ΠΈ ΠΎΡΠΆΠ°ΡΠΈΡ) ΠΊΠ»Π°Π²ΠΈΡ, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡΡΠΈ, Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΡΡΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΌΠ΅Π½Ρ) ΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΏΠ΅ΡΡΡΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π΄Π»ΠΈΡΡΡΡ 10 ΡΠ΅ΠΊΡΠ½Π΄).
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
Π‘Π΅ΡΠ΄ΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΈΠ³ΡΡ β ΡΡΠΎ Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅: Π²ΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½Π° ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΈ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅. Π ΡΠ»ΡΡΠ°Π΅ Breakout ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΊΠΈΡΠΏΠΈΡΠ΅ΠΉ, ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΌΡΡΠ°, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠ΅ΡΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΆΠΈΠ·Π½ΠΈ ΠΈ ΠΎΡΠΊΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ³ΡΠΎΠΉ:
ΠΡΡΠΈΡΠΎΠ²ΠΊΠ°
ΠΠ³ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ²ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ³ΡΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡ.
ΠΠ³ΡΠΎΠ²Π°Ρ ΡΠΈΠ·ΠΈΠΊΠ°
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΈΠ³Ρ ΡΠΈΠΌΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅. Π Breakout ΠΌΡΡ ΠΎΡΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠ·ΠΈΠΊΠΈ ΡΠ²ΡΡΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π»Π° (Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ Π½Π°Π·Π²Π°ΡΡ).
Π Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ³ΡΠ°Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΠΎΡΡΡΠ½Π½ΡΠ΅ ΠΈ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² 3D-ΠΈΠ³ΡΠ°Ρ ). Π‘ΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ³ΡΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠ°ΡΡΠΎΡΠ½ΡΡ , ΡΠΈΠ·ΠΈΠΊΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅Ρ, ΠΈ ΡΡΠΎ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ.
ΠΠ (ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ°Π³ΠΈ ΠΏΡΠ΅ΡΠ»Π΅Π΄ΡΡΡ ΠΈΠ³ΡΠΎΠΊΠ° ΠΈ Π·Π½Π°ΡΡ ΠΎ Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π Breakout Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΠ. ΠΠ³ΡΠΎΠΊ ΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Ρ Ρ ΠΎΠ»ΠΎΠ΄Π½ΡΠΌΠΈ ΠΈ ΡΠ²ΡΡΠ΄ΡΠΌΠΈ ΠΊΠΈΡΠΏΠΈΡΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΠ Π² ΠΈΠ³ΡΠ°Ρ ΡΠ°ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡ ΠΈ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠΌ (ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ) ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΌ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ°Π·ΡΠΌΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ.
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠ°
ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π²ΡΠΊΠ° β Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΈΠ³Ρ. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° Π·Π²ΡΠΊΠ°: ΡΠΎΠ½ΠΎΠ²Π°Ρ ΠΌΡΠ·ΡΠΊΠ° ΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ. Π Breakout Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΡΡ .
Π€ΠΎΠ½ΠΎΠ²Π°Ρ ΠΌΡΠ·ΡΠΊΠ° β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΡΠ·ΡΠΊΠ°, ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΈΠ³ΡΠ°ΡΡΠ°Ρ Π½Π° ΡΠΎΠ½Π΅. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ³ΡΠ°Ρ ΠΎΠ½Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΠΈΠ·Π½ΠΈ, ΠΎΡΠΊΠΈ ΠΈ ΡΡΠΎΠ²Π½ΠΈ
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΈΠ³Ρ ΠΈΠ³ΡΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΆΠΈΠ·Π½Π΅ΠΉ, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ, ΠΈΠ³ΡΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ Π² ΠΈΠ³ΡΠ°Ρ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΎΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΠΎΠ½ΡΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΌΡ ΠΈΠ³ΡΠ°Π΅ΠΌ, ΠΈ Π΄Π°ΡΡΠΈΠ΅ ΠΌΠΎΡΠΈΠ²Π°ΡΠΈΡ ΠΊ ΡΠ°ΠΌΠΎΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Ρ Π²Π°ΡΡΠ°ΡΡΡΡ Π΄ΡΡΠ·ΡΡΠΌ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ΅ΠΊΠΎΡΠ΄Π°ΠΌΠΈ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ³ΡΠ°Ρ Π΅ΡΡΡ ΡΡΠΎΠ²Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ.
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Pygame
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ³ΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ·Π½Π°Π΅ΠΌ ΠΎ Pygame, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·ΡΠΌΡΡ Π½Π° ΡΠ΅Π±Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Pygame?
Pygame β ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ·ΡΠΊΠ° Python Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³Ρ. ΠΠ½ ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎΠ²Π΅ΡΡ SDL ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Pygame
ΠΡΠΎ ΡΡΠ°Π½Π΅Ρ ΡΠ΅ΡΡΡΠ·Π½ΡΠΌ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ³ΡΡ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΅Ρ Π² Windows Π²Π½ΡΡΡΠΈ VirtualBox VM. ΠΠ°Π΄Π΅ΡΡΡ, ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½Π°.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈΠ³ΡΡ
ΠΠ³ΡΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Breakout β ΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΈΠ³ΡΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΠΈ Π΄Π»Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ ΠΈΠ³Ρ.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²
Pipfile ΠΈ Pipfile.lock β ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π² Python. ΠΠ°ΠΏΠΊΠ° images ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ³ΡΠΎΠΉ (Π² Π½Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅), Π° Π² ΠΏΠ°ΠΏΠΊΠ΅ sound_effects directory Π»Π΅ΠΆΠ°Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ Π·Π²ΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠ»ΠΈΠΏΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ (ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΡΡΠ΅ΠΊΡΠΎΠ².
Π€Π°ΠΉΠ»Ρ ball.py, paddle.py ΠΈ brick.py ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠ΄, ΠΎΡΠ½ΠΎΡΡΡΠΈΠΉΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Breakout. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΡ ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΡΡ ΡΡΡΠΎΡΠΈΠ°Π»Π°. Π€Π°ΠΉΠ» text_object.py ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅, Π° Π² ΡΠ°ΠΉΠ»Π΅ background.py ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΈΠ³ΡΠΎΠ²Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° Breakout.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Β«ΡΠΊΠ΅Π»Π΅ΡΒ» ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π² Π½ΠΈΡ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΈΠ³ΡΠ°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Pygame.
ΠΠ»Π°ΡΡ GameObject
GameObject ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π·Π½Π°ΡΡΠΈΠΉ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π±Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡ, ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ²ΠΎΠΈ Π³ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ. Π Pygame Π΅ΡΡΡ ΠΈ ΠΊΠ»Π°ΡΡ Sprite, ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΠΏΠΎΡ ΠΎΠΆΡΡ ΡΠΎΠ»Ρ, Π½ΠΎ Π² ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, Π° Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π½Π° Π³ΠΎΡΠΎΠ²ΡΡ ΠΌΠ°Π³ΠΈΡ. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ»Π°ΡΡ GameObject:
ΠΠ»Π°ΡΡ Game
ΠΠ»Π°ΡΡ Game β ΡΡΠΎ ΡΠ΄ΡΠΎ ΠΈΠ³ΡΡ. ΠΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅. Π Π½ΡΠΌ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ.
ΠΠ΅ΡΠΎΠ΄ __init__() ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠ°ΠΌ Pygame, ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΡΡΠΎΠ² ΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΌΠΈΠΊΡΠ΅Ρ. Π’ΡΠΈ ΡΠ°Π·Π½ΡΡ Π²ΡΠ·ΠΎΠ²Π° Π½ΡΠΆΠ½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π²ΠΎ Π²ΡΡΠΊΠΎΠΉ ΠΈΠ³ΡΠ΅ Π½Π° Pygame ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ, ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ (Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ) ΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΊΠ°Π΄ΡΠΎΠ².
ΠΠ»Π΅ΠΌΠ΅Π½Ρ self.objects Ρ ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ. Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΡΡ .
ΠΠ΅ΡΠΎΠ΄Ρ update() ΠΈ draw() ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ. ΠΠ½ΠΈ ΠΎΠ±Ρ ΠΎΠ΄ΡΡ Π²ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΡΠ»ΠΈ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π° Π½Π° ΡΠΊΡΠ°Π½Π΅, ΡΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΏΠΈΡΠΊΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°ΡΡ.
ΠΠ΅ΡΠΎΠ΄ handle_events() ΡΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠ΅ Pygame, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΠΌΡΡΠΈ. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΏΠΎΠ².
ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΊΡΠ°Π½, ΡΠΎ Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΡΠ΅Π½Π΄Π΅ΡΠ΅Π½ΠΎ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ β ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ clock.tick() Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ ΠΈΠ·ΡΡΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ³Ρ ΠΈ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³Ρ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ°ΠΌ Pygame ΠΈ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΏΠΎΠ³ΡΡΠ·ΠΈΠ»ΠΈΡΡ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈΠ³ΡΡ ΠΈ ΠΈΠ·ΡΡΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΎΠΊ, ΠΊΠ»Π°ΡΡΡ GameObject ΠΈ Game.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Pygame? ΠΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, FPS
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈΠ³ΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° PyGame Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° ΠΈ Π²ΡΡ ΡΠΈΠ·ΠΈΠΊΡ Π² ΠΈΠ³ΡΠ°Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΡΠΈΠ·ΠΈΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π² ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΊΠ°ΠΌΠ΅Ρ ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. Π’Π°ΠΊ ΡΡΠΎ, PyGame ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ, Π½ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π·Π²ΡΠΊΠΎΠ²ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ:
Π‘ ΡΠ΅Π³ΠΎ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΈ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ? ΠΠ½Π°ΡΠ°Π»Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ PyGame ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°. Π, Π·Π°ΡΠ΅ΠΌ, Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Ρ ΠΈ Π±ΡΠ΄Ρ ΡΡΡΠΎΠΈΡΡ Π½Π°ΡΠΈ Π·Π°Π½ΡΡΠΈΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyGame
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyGame. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎΠ΄ ΠΠ‘ Windows ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install pygame
(ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΠ‘). ΠΠ°Π»Π΅Π΅, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Python, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΡΠΊΠΈ:
ΠΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ, Π·Π½Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΈ Π³ΠΎΡΠΎΠ²Π° ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° PyGame. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΡΠΊΠΈ Ρ Π½Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΏΠ΅ΡΠ²Π°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΈΠΌΠΏΠΎΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, Π° Π²ΡΠΎΡΠ°Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΡ Π΄ΡΡΠ³ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ (ΠΈΠ½Π°ΡΠ΅ Π±Ρ Π½Π°ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π±Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ). Π’ΠΎ Π΅ΡΡΡ, ΠΌΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅? ΠΠ°Π»Π΅Π΅ ΡΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΠΎΠΊΠ½ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡ ΠΆΠ΅ Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ. ΠΠΎΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊ ΡΠ΅Π±Ρ Π²Π΅Π΄Π΅Ρ? ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΈ ΡΡΡΠΎΡΠΊΠΈ Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠΏΡΠΎΡΡΡ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ. ΠΡ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΠΎΠΌ Π±ΡΠ»ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΡΠΎ. Π§ΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΎ ΡΠ΅ΠΊΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ:
Π’ΠΎ Π΅ΡΡΡ, Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΠΊΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π° Π·Π°ΡΠ΅ΠΌ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ (Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΡΠΎΠ±ΡΡΠΈΡ).
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Β«Π²Π΅ΡΠ½ΡΠΉΒ» ΡΠΈΠΊΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ. Π ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
Π‘ΠΌΠΎΡΡΠΈΡΠ΅, Π·Π΄Π΅ΡΡ Π·Π°Π΄Π°Π½ Β«Π²Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ»Β» ΠΈ Π²Π½ΡΡΡΠΈ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ» for, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. Π‘Π°ΠΌΠ° ΠΎΡΠ΅ΡΠ΅Π΄Ρ β ΡΡΠΎ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ pygame.event.get(). Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ event Π±ΡΠ΄Π΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈΠ· ΡΡΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ². Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ type, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ pygame.QUIT, Π·Π½Π°ΡΠΈΡ, ΠΏΡΠΈΡΠ»ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π·Π°ΠΊΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π·Π΄Π΅ΡΡ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Python-ΡΡΠ½ΠΊΡΠΈΡ exit, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΡΠΎΠ΅ΠΌ Π΅Π³ΠΎ. ΠΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ pygame.QUIT ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ. ΠΡΠ»ΠΈ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ exit Π½Π°ΠΏΠΈΡΠ°ΡΡ pass, ΡΠΎ Π½Π°ΡΠ΅ ΠΎΠΊΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ, Ρ.ΠΊ. ΠΌΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΡ exit() Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠΈΠΊΠ» ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ PyGame, Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ quit() ΠΏΠ°ΠΊΠ΅ΡΠ° PyGame:
ΠΠΎ ΠΏΡΠΈ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΎΠΊΠ½Π° ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅). ΠΡΠΊΡΠ΄Π° ΠΎΠ½Π° Π²Π·ΡΠ»Π°ΡΡ? ΠΡΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ PyGame ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΠΎ ΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΆΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, Ρ.ΠΊ. PyGame ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΡΠΆΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΡΡΠ΄Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎΡΡΠΎΠΌΡ, ΠΌΡ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°:
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎΠ³ΠΎ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ. ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ PyGame.
ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ FPS
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΠ»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΡΡΡΡΠΎ: ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ Π½Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π‘ΠΎΠ±ΡΡΠΈΡ ΡΠ°ΠΊ Π±ΡΡΡΡΠΎ Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ. ΠΠ°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³ΡΠ°Ρ (ΡΠΈΠΏΠ° Π°ΡΠΊΠ°Π½ΠΎΠΈΠ΄), Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ 60 ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, Ρ.Π΅. Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ:
1/60 ΡΠ΅ΠΊ = 17 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄
Π Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³ΡΠ°Ρ , ΡΠΈΠΏΠ° ΠΏΠ°ΡΡΡΠ½Ρ, ΠΌΠΈΠ½Π΅Ρ ΠΈ Ρ.ΠΏ., Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ 30 ΠΊΠ°Π΄ΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ:
1/30 ΡΠ΅ΠΊ = 34 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ? ΠΡΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Β«Π² Π»ΠΎΠ±Β», ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π° while:
ΠΠΎ ΡΡΠΎ Π½Π΅ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅: Π½Π° ΡΠ°Π·Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΊΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π½ΡΠΌ (ΠΈΠ·-Π·Π° ΡΠ°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π¦Π). ΠΠ΄Π΅ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ° Π² 20 ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π½ΡΡΡΠΈ ΡΠΈΠΊΠ»Π°. Π’ΠΎ Π΅ΡΡΡ, ΠΌΡ Π½Π΅ ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π° ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΡ Π² 20 ΠΌΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΈΠΊΠ» Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΡΡΠ΅. Π ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅: Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π±ΡΠ΄Π΅Ρ Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΡΡΠΎΠ²Π΅Π½Ρ, Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΌ β ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² PyGame ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠΈΠΊΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»Π°ΡΡΠ° Clock:
ΠΠ΄Π΅ΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ tick ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π° Π·Π° ΠΎΠ΄Π½Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π’ΠΎ Π΅ΡΡΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ 60 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΈΠΊΠ» while 60 ΡΠ°Π· Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ½ΠΎ Π²ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 17 ΠΌΡ. Π ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π½Π° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ (ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΈΠΊΠ»Π°).
ΠΠΎΡ ΡΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ (60) Π½Π°Π·ΡΠ²Π°ΡΡ Frames Per Second (FPS) ΠΈ, ΠΎΠ±ΡΡΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ:
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΡΠΈΡ . ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° ΠΈ Π΅Π³ΠΎ ΠΈΠΊΠΎΠ½ΠΊΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΈΡ Π΄Π²ΡΡ ΡΡΡΠΎΡΠ΅ΠΊ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»Π°Π³:
ΡΠΎ ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ . ΠΠ»ΠΈ ΡΠ°ΠΊ:
ΠΡ Π·Π΄Π΅ΡΡ ΡΡΠ°Π·Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π΄Π²ΠΎΠΉΠ½ΡΡ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π°Π³ΠΈ.
ΠΠΎΡ ΡΠ°ΠΊ ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° PyGame. ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°Π½ΡΡΠΈΠΈ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Pygame? ΠΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, FPS | Pygame #1
Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² | Pygame #2
ΠΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ | Pygame #3
ΠΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡ ΠΌΡΡΠΈ | Pygame #4
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ (Surface) ΠΈ ΠΈΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΠ΅ΡΠΎΠ΄ blit | Pygame #5
ΠΠ»Π°ΡΡ Rect. ΠΠ³ΠΎ ΡΠΎΠ»Ρ, ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ | Pygame #6
ΠΠ°ΠΊ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠΈΡΡΠ°ΠΌΠΈ | Pygame #7
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΠ΄ΡΠ»ΠΈ image ΠΈ transform | Pygame #8
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΏΡΠ°ΠΉΡΡ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ | Pygame #9
ΠΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ | Pygame #10
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π·Π²ΡΠΊ Π² ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠΎΠ΄ΡΠ»ΠΈ mixer ΠΈ music | Pygame #11
Β© 2021 Π§Π°ΡΡΠΈΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Π±ΡΠΌΠ°ΠΆΠ½ΡΡ , ΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ. ΠΡΠ΅ ΡΠ΅ΠΊΡΡΡ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ°ΠΉΡΠ°
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pygame / Π§Π°ΡΡΡ 1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² Β« Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pygame Β». ΠΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³Ρ ΠΈ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π½Π°Π²ΡΠΊΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Pygame?
Pygame β ΡΡΠΎ Β«ΠΈΠ³ΡΠΎΠ²Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Β», Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ³ΡΡ. Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ:
ΠΡΠ°ΡΠΈΠΊΠ° ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ
ΠΠ²ΡΠΊ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΡΠ·ΡΠΊΡ)
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (ΠΌΡΡΡ, ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, Π³Π΅ΠΉΠΌΠΏΠ°Π΄ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅)
ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
Π ΡΠ΅ΡΠ΄ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ³ΡΡ Π»Π΅ΠΆΠΈΡ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΈΠ³ΡΠΎΠ²ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌΒ». ΠΠ½ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, Π΄Π΅Π»Π°Ρ Π²ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΈΠ³ΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ» Π² ΠΈΠ³ΡΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°Π΄ΡΠΎΠΌ.
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ°Π΄ΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΌΠ°ΡΡΠ° Π²Π΅ΡΠ΅ΠΉ, Π½ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΡΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
1.ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²ΠΎΠ΄Π° (ΡΠΎΠ±ΡΡΠΈΡ)
Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π½Π΅ ΠΈΠ³ΡΡ β ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΡΡ , Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅, ΠΊΠ»ΠΈΠΊΠΈ ΠΌΡΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
2.ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ³ΡΡ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ°. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ Π² Π²ΠΎΠ·Π΄ΡΡ Π΅, Π³ΡΠ°Π²ΠΈΡΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΡΠ½ΡΡΡ Π΅Π³ΠΎ Π²Π½ΠΈΠ·. ΠΡΠ»ΠΈ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π½Π° Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π·ΠΎΡΠ²Π°ΡΡΡΡ.
3.Π Π΅Π½Π΄Π΅ΡΠΈΠ½Π³ (ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ°)
Π ΡΡΠΎΠΌ ΡΠ°Π³Π΅ Π²ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½: ΡΠΎΠ½Ρ, ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠΈ, ΠΌΠ΅Π½Ρ. ΠΡΠ΅, ΡΡΠΎ ΠΈΠ³ΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅ΡΡ, ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΡΠ΅ΠΌΡ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° β ΡΠΊΠΎΡΠΎΡΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ FPS, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Frames Per Second (ΠΈΠ»ΠΈ ΠΊΠ°Π΄ΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ). ΠΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡΡ Π·Π° ΠΎΠ΄Π½Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠ° Π½Π΅ Π±ΡΠ»Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΡΡΡΡΠΎΠΉ. ΠΠ°ΠΆΠ½ΠΎ ΠΈ ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΈΠ³ΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»Π° Ρ ΡΠ°Π·Π½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΠ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ 10 ΡΠ΅ΠΊΡΠ½Π΄ Π½Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΡ ΡΠΊΡΠ°Π½, ΡΡΠΈ 10 ΡΠ΅ΠΊΡΠ½Π΄ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° Pygame
Π’Π΅ΠΏΠ΅ΡΡ, Π·Π½Π°Ρ ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ³ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. ΠΠ°ΡΠ°ΡΡ ΡΡΠΎΠΈΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ pygame, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΎΠΊΠ½ΠΎ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ». ΠΡΠΎ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° pygame.
Π Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π·Π°Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ³ΡΡ:
ΠΠ°Π»ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΈΠ³ΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»:
Π Π°Π·Π΄Π΅Π» ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° (ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ)
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ°Π·Π΄Π΅Π»Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ ΠΏΠΎΠΊΠ° Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΡΠ°Π½ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΏΠ»ΠΎΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠ²Π΅ΡΠ°.
ΠΠΊΡΠ°Π½Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠ΄Π΅Π»Π°Π½Ρ ΠΈΠ· ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 3 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: ΠΊΡΠ°ΡΠ½ΡΠΉ, Π·Π΅Π»Π΅Π½ΡΠΉ ΠΈ ΡΠΈΠ½ΠΈΠΉ. Π¦Π²Π΅Ρ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π³ΠΎΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²:
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 (Π²ΡΠΊΠ»ΡΡΠ΅Π½) Π΄ΠΎ 255 (Π²ΠΊΠ»ΡΡΠ΅Π½ Π½Π° 100%), ΡΠ°ΠΊ ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΅ΡΡΡ 256 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ².
Π£Π·Π½Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ, ΡΠΌΠ½ΠΎΠΆΠΈΠ²:
Π’Π΅ΠΏΠ΅ΡΡ, Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ²Π΅ΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ:
Π ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ β Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½.
ΠΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΈΡΠΏΠ»Π΅ΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΡΠ°ΠΊ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΈΠΊΡΠ΅Π»Ρ β Π·Π½Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π»Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΊΡΠ°Π½Ρ. ΠΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΊΠ°ΠΌ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π·Π°ΠΉΠΌΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ β Π΄Π²ΠΎΠΉΠ½Π°Ρ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ. ΠΠ²ΡΡΠΈΡ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ, Π½ΠΎ Π²ΠΎΡ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΡΡ Π΄ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠΎ ΠΎΠ΄Π½Ρ, ΡΠΎ Π²ΡΠΎΡΡΡ ΡΡΠΎΡΠΎΠ½Ρ. ΠΠ΄Π½Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ (ΡΠΎ, ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡ ΠΈΠ³ΡΠΎΠΊ), Π° Π²ΡΠΎΡΠ°Ρ β ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠΊΡΡΡΠΎΠΉ, Π΅Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Β«Π²ΠΈΠ΄Π΅ΡΡΒ» ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠ°Π΄ΡΠΎΠΌ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π½Π° Π·Π°Π΄Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π΄ΠΎΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, Π΄ΠΎΡΠΊΠ° ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ³ΡΠΎΠΊΡ.
Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π·Π° ΠΊΠ°Π΄Ρ, Π° Π½Π΅ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
Π pygame ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΡΠΊΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΠ»Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ flip() :
ΠΠ»Π°Π²Π½ΠΎΠ΅ β ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ flip() Π±ΡΠ»Π° Π² ΠΊΠΎΠ½ΡΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ°, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
Π Π°Π·Π΄Π΅Π» Π²Π²ΠΎΠ΄Π° (ΡΠΎΠ±ΡΡΠΈΠΉ)
ΠΠ³ΡΡ Π΅ΡΠ΅ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ. ΠΠΎ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ, ΡΠΎ ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΊΡΡΡΡ ΠΎΠΊΠ½ΠΎ. ΠΠ°ΠΆΠ°ΡΡ Π½Π° ΠΊΡΠ΅ΡΡΠΈΠΊ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΡΠΎ ΡΠΎΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΡΡΠΈΡΠ°Π»Π° Π΅Π³ΠΎ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π·Π°ΠΊΡΡΠ»Π° ΠΈΠ³ΡΡ.
Π‘ΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ. Π§ΡΠΎ, Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΡΡΠΆΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ? ΠΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΠ½Π°ΡΠ΅ ΠΈΠ³ΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ pygame ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠΈΠ΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠ°Π΄ΡΠ°. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΈΠ³ΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π»ΡΠΏΠΈΡΡ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, Π²Ρ Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ Π½ΠΈ ΠΎΠ΄Π½Ρ ΠΈΠ· Π½ΠΈΡ . Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° for ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΈΠ· Π½ΠΈΡ .
ΠΠΎΠ½ΡΡΠΎΠ»Ρ FPS
ΠΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ΡΠ΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π» Update (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅), Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° FPS ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈΠ³ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠΌΠ°Π½Π΄Π° tick() ΠΏΡΠΎΡΠΈΡ pygame ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΊΠ», Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ°ΡΠ·Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠΊΠ» (ΡΠ΅Π»ΡΠΉ ΠΊΠ°Π΄Ρ) Π΄Π»ΠΈΠ»ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FPS 30, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΄Π»ΠΈΠ½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ° β 1/30, ΡΠΎ Π΅ΡΡΡ 0,03 ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠ»ΠΈ ΡΠΈΠΊΠ» ΠΊΠΎΠ΄Π° (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ ΠΈ ΠΏΡΠΎΡΠ΅Π΅) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 0,01 ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠΎΠ³Π΄Π° pygame ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΏΠ°ΡΠ·Ρ Π½Π° 0,02 ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ» Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΎΠΊΠ½ΠΎ ΠΈΠ³ΡΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ pygame.quit() Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ΄Π°. Π€ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ pygame Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΠΎΡΠΏΡΠ°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈ ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.