Pygame
| Vývojář | Pete Shinners Komunita Pygame |
|---|---|
| Aktuální verze | 1.9.1 (Srpen 2009[1]) |
| Operační systém | multiplatformní |
| Vyvíjeno v | Python, C, JSA |
| Typ softwaru | API |
| Licence | LGPL |
| Web | http://www.pygame.org |
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.[2] 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.[3]
K dispozici je mnoho tutoriálů převážně v anglickém jazyce [4][5][6][7][8]. Pravidelně se koná soutěž ve vytváření malých her[9].
Obsah |
Platformy [editovat]
Pygame podporuje množství různých platforem oficiálně či neoficiálně.[3] 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.[10]
Oficiálně podporované [editovat]
Neoficiálně podporované [editovat]
Ukázkový program [editovat]
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 |
Hry využívající Pygame [editovat]
Reference [editovat]
V tomto článku byl použit překlad textu z článku Pygame na anglické Wikipedii.
- ↑ Pygame Downloads [online]. 2009-08-06, [cit. 2011-08-15]. Dostupné online. (anglicky)
- ↑ SHINNERS, Pete. Python Pygame Introduction [online]. [cit. 2011-08-15]. Dostupné online. (anglicky)
- ↑ a b Pygame About [online]. [cit. 2011-08-15]. Dostupné online. (anglicky)
- ↑ An Introduction to Python Game Programming – napsáno Renem Dudfieldem and Geoffem Howlandem (anglicky)
- ↑ Line by line tutorial – Tutoriál pro začátečníky od Peta Shinnerse. (anglicky)
- ↑ Creating Games with Python – Tutoriál vysvětlující jak použít Pygame pro vývoj her a vylepšené spouštění. (anglicky)
- ↑ PyGame Tutorials – tutoriály s objektovým programováním. (anglicky)
- ↑ pyGame Basics a Arinoid tutorials – video tutoriály na showmedo (anglicky)
- ↑ Pyweek homepage – pravidelná soutěž (Pyweek) ve vytváření her během jednoho týdne s použitím Python (většina využívá Pygame) (anglicky)
- ↑ a b ROTHAMEL, Tom. Pygame Subset for Android [online]. 2010, [cit. 2011-08-15]. Dostupné online. (anglicky)
Externí odkazy [editovat]
- (anglicky) http://www.pygame.org – Oficiální stránka Pygame – dokumentace, wiki, novinky, vytvořené hry, atd.
- (česky) http://geon.wz.cz/pygame/ – Český překlad dokumentace k Pygame