Pygame

From Wikipedia, the free encyclopedia

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.

Stručná fakta Vývojář, První vydání ...
Pygame
Thumb
VývojářPete Shinners
Komunita Pygame
První vydání22. října 2000
Aktuální verze1.9.6 (25. dubna 2019)
Operační systémmultiplatformní
Vyvíjeno vPython, C, JSA
Typ softwaruAPI
LicenceLGPL
Webhttps://www.pygame.org
Některá data mohou pocházet z datové položky.
Zavřít

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]

Platformy

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]

Oficiálně podporované

Neoficiálně podporované

Ukázkový program

Thumb
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

  • Slingshot
  • Frets on Fire
  • Dangerous High School Girls in Trouble

Reference

Externí odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.