![]() | |
Vývojář | Pete Shinners Komunita Pygame |
---|---|
První vydání | 22. října 2000 |
Aktuální verze | 1.9.6 (25. dubna 2019) |
Operační systém | multiplatformní |
Vyvíjeno v | Python, C, JSA |
Typ softwaru | API |
Licence | LGPL |
Web | https://www.pygame.org |
Některá data mohou pocházet z datové položky. |
Pygame je multiplatformní sada modulů jazyka Python určená k tvorbě počítačových her. Obsahuje knihovny pro práci s grafikou, zvukem a vstupními zařízeními určené pro použití v jazyce Python. Moduly jsou postaveny nad knihovnou Simple DirectMedia Layer (SDL) s cílem umožnit vývoj her bez znalostí nízkoúrovňového programování v jazyce C a jeho odvozeninách. To je založeno na předpokladu, že většina složitých funkcí v počítačových hrách (převážně práce s grafikou) může být kompletně oddělena od herní logiky, čehož je dosaženo použitím vysokoúrovňového jazyka, jako je Python, pro tvorbu hry.
Pygame byl vytvořen jako náhrada za ukončený projekt pySDL.[1] Pygame byl napsán Petem Shinnersem, který jej uvolnil pod licencí GNU Lesser General Public License. Nyní se jedná o svobodný komunitní opensource projekt (přibližně od roku 2004/2005).
Moduly jsou napsány v Pythonu, výkonově náročné funkce jsou však napsány v jazyce C a jazyce symbolických adres.[2]
K dispozici je mnoho tutoriálů převážně v anglickém jazyce.[3][4][5][6][7] Pravidelně se koná soutěž ve vytváření malých her.[8]
Pygame podporuje množství různých platforem oficiálně či neoficiálně.[2] To umožňuje provozovat vytvořené hry nejen na počítačích, ale i na různých mobilních zařízeních. Projekt „Pygame Subset for Android“ od Toma Rothamela a Patricka Dawsona je např. zaměřen na systém Android.[9]
Následující ukázkový program vytvoří po spuštění nové okno o velikosti vykreslovací plochy (bez okrajů okna) 640×480 pixelů, jehož titulek nastaví na text „Example“. V okně bude vykreslen text „Hello world!“ zeleným písmem na modrém pozadí. Program se ukončí, pokud uživatel zavře okno standardním způsobem daným použitým operačním systémem (provede se událost „pygame.QUIT“).
# -*- coding: utf-8 -*- # utf-8 kódování zdrojového kódu
import pygame # import modulu Pygame
pygame.init() # inicializace modulu
screen = pygame.display.set_mode((640,480)) # vytvoření okna s nastavením jeho velikosti
pygame.display.set_caption("Example") # nastavení titulku okna
background = pygame.Surface(screen.get_size()) # vytvoření vrstvy pozadí
background = background.convert() # převod vrstvy do vhodného formátu
background.fill((0,0,255)) # obarvení vrstvy modře (r, g, b – červená, zelená, modrá)
basicFont = pygame.font.SysFont(None, 64) # načtení písma velikosti 64
text = basicFont.render('Hello world!', True, (0, 255, 0))
# vytvoření vrstvy s textem "Hello world!", zapnuté vyhlazování, zelené písmo
textRect = text.get_rect() # získání pozic vrstvy textu
textRect.centerx = screen.get_rect().centerx # nastavení pozice x textu na střed obrazovky
textRect.centery = screen.get_rect().centery # nastavení pozice y textu na střed obrazovky
clock = pygame.time.Clock() # časování
keepGoing = True # podmínka pro hlavní smyčku
while keepGoing: # hlavní smyčka
clock.tick(30) # omezení maximálního počtu snímků za sekundu
for event in pygame.event.get():
if event.type == pygame.QUIT: # probíhá událost požadující zavření okna programu?
keepGoing = False # ukončení hlavní smyčky
screen.blit(background, (0,0)) # přidání pozadí k vykreslení na pozici 0, 0
screen.blit(text, textRect) # přidání textu k vykreslení na střed
pygame.display.flip() # vykreslení celého obrazu
|
V tomto článku byl použit překlad textu z článku Pygame na anglické Wikipedii.