Pygame

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
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].

Platformy[editovat | editovat zdroj]

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 | editovat zdroj]

Neoficiálně podporované[editovat | editovat zdroj]

Ukázkový program[editovat | editovat zdroj]

Ukázkový program spuštěný v operačním systému Ubuntu 11.04

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 | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Pygame na anglické Wikipedii.

  1. Pygame Downloads [online]. 2009-08-06, [cit. 2011-08-15]. Dostupné online. (anglicky) 
  2. SHINNERS, Pete. Python Pygame Introduction [online]. [cit. 2011-08-15]. Dostupné online. (anglicky) 
  3. a b Pygame About [online]. [cit. 2011-08-15]. Dostupné online. (anglicky) 
  4. An Introduction to Python Game Programming – napsáno Renem Dudfieldem and Geoffem Howlandem (anglicky)
  5. Line by line tutorial – Tutoriál pro začátečníky od Peta Shinnerse. (anglicky)
  6. Creating Games with Python – Tutoriál vysvětlující jak použít Pygame pro vývoj her a vylepšené spouštění. (anglicky)
  7. PyGame Tutorials – tutoriály s objektovým programováním. (anglicky)
  8. pyGame Basics a Arinoid tutorials – video tutoriály na showmedo (anglicky)
  9. 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)
  10. a b ROTHAMEL, Tom. Pygame Subset for Android [online]. 2010, [cit. 2011-08-15]. Dostupné online. (anglicky) 

Externí odkazy[editovat | editovat zdroj]