PyGame je výkonná a populárna knižnica na vývoj hier pre Python. Poskytuje sadu nástrojov a funkcií, ktoré uľahčujú vytváranie hier a iných interaktívnych aplikácií. Jednou z užitočných funkcií PyGame je jej schopnosť kresliť objekty a tvary.
Modul pygame.draw
V PyGame je kreslenie objektov a tvarov jednoduchý proces. Môžete použiť pyhra.kresliť modul na kreslenie tvarov, ako sú obdĺžniky, kruhy, čiary a ďalšie.
Pred začatím sa uistite, že máte pip nainštalovaný na vašom zariadení, potom použite tento príkaz na inštaláciu PyGame modul:
pip install pygame
Kreslenie základných tvarov
The pyhra.kresliť modul poskytuje niekoľko funkcií, ktoré umožňujú kresliť základné tvary. Každá funkcia má súbor parametrov na definovanie tvaru a jeho polohy.
-
rect(): Pomocou tejto funkcie môžete nakresliť obdĺžnik. Toto je jeden z najčastejšie používaných tvarov v hrách. Pomocou obdĺžnikov môžete vytvárať platformy, steny a iné objekty. Funkcia má štyri parametre: povrch (plocha, na ktorú sa má nakresliť obdĺžnik), farba, obdĺžnik (objekt Rect) a šírka (hrúbka čiary).
pygame.draw.rect (povrch, farba, obdĺžnik, šírka)
-
kruh(): Nakreslite kruh. Má štyri parametre: povrch, farbu, polohu (stred kruhu) a polomer.
pygame.draw.circle (plocha, farba, poloha, polomer)
-
polygón(): Nakreslite mnohouholník. Má štyri parametre: povrch, farbu, body (zoznam bodov, ktoré definujú tvar mnohouholníka) a šírku.
pygame.draw.polygón (povrch, farba, body, šírka)
-
riadok(): Nakresli čiaru. Vyžaduje štyri parametre: povrch, farba, štart_pos a end_pos.
pygame.draw.line (povrch, farba, začiatok_pozície, koniec_pozície)
Kompletný zoznam funkcií a ich parametrov nájdete na oficiálnom Dokumentácia PyGame pre modul draw.
Kreslenie zložitých tvarov
Okrem základných tvarov vám PyGame umožňuje kresliť aj zložité tvary, ako sú oblúky, elipsy a čiary.
-
oblúk (): Táto funkcia nakreslí na plochu oblúk. Oblúk je časť kruhu. Vyžaduje šesť parametrov: povrch, farbu, obdĺžnik, počiatočný_uhol, koncový_uhol a šírku. Zadajte uhly v stupňoch, pričom 0 stupňov ukazuje doprava a zvyšuje sa v smere hodinových ručičiek. Parameter šírka určuje hrúbku oblúka.
pygame.draw.arc (plocha, farba, obdĺžnik, počiatočný_uhol, koncový_uhol, šírka)
-
elipsa(): Nakreslite elipsu na plochu. Elipsa je natiahnutý kruh. Má štyri parametre: povrch, farbu, obdĺžnik a šírku.
pygame.draw.ellipse (povrch, farba, obdĺžnik, šírka)
-
aaline(): Používa sa na nakreslenie jednej vyhladenej čiary na povrch. Anti-aliasing je technika používaná na vyhladenie okrajov tvaru, takže vyzerá prirodzenejšie. Vyžaduje štyri parametre, ktoré odzrkadľujú riadok() funkcia: povrch, farba, počiatočná_pozícia a koncová_pozícia.
pygame.draw.aaline (povrch, farba, začiatok_pos, koniec_pozície)
Vytváranie vnorených tvarov v PyGame
Ďalšou zaujímavou funkciou PyGame je možnosť kresliť tvary do iného tvaru. Môžete tak urobiť pomocou kombinácie základných funkcií kreslenia tvarov v PyGame.
Ak chcete nakresliť tvar do iného tvaru, môžete najskôr nakresliť vnútorný tvar a potom naň nakresliť vonkajší tvar. Vnútorný tvar môže byť akýkoľvek základný tvar, ako je obdĺžnik alebo kruh.
Ak chcete napríklad nakresliť obdĺžnik do kruhu, môžete použiť pygame.draw.circle() nakreslite kruh a potom použite funkciu pygame.draw.rect() funkcia nakresliť naň obdĺžnik.
Nasledujúce ukážky kódu nájdete v toto úložisko GitHub.
Tu je príklad útržku kódu, ktorý ukazuje, ako nakresliť obdĺžnik vo vnútri kruhu:
importovať pygame
# Inicializujte pygame
pygame.init()# Vytvorte okno
okno = pygame.display.set_mode((800, 600))# Vytvorte kruh
circle_rect = pygame.draw.circle (okno, (255, 255, 255), (400, 300), 100)# Vytvorte plochu pre obdĺžnik
obdĺžnikový_povrch = pygame. Povrch((50, 50))
rectangle_surface.set_colorkey((0, 0, 0))# Nakreslite obdĺžnik na povrch
pygame.draw.rect (obdĺžnikový_povrch, (255, 0, 0), (0, 0, 50, 50))# Blit povrch na kruh
window.blit (obdĺžnikový_povrch, (375, 275))# Hlavná slučka
zatiaľ čoPravda:
# Ukončenie hry
pre udalosť v pygame.event.get():
ak event.type == pygame. UKONČIŤ:
pygame.quit()
VÝCHOD()
# Aktualizujte displej
pygame.display.update()
Tým sa vytvorí efekt obdĺžnika vo vnútri kruhu. Túto techniku môžete použiť na vytváranie zložitejších tvarov a herných prvkov kombináciou viacerých tvarov.
Kreslenie obrázkov
PyGame vám tiež umožňuje kresliť obrázky. Môžete použiť pygame.image.load() funkcia na načítanie obrázka zo súboru a pygame.image.blit() fungovať nakreslite obrázok na obrazovku.
Syntax pre pygame.image.load() vyzerá takto:
pygame.image.load (názov súboru)
A tu je syntax pre pygame.image.blit():
pygame.image.blit (obrázok, obdĺžnik)
Okrem načítania a kreslenia obrázkov poskytuje PyGame aj niekoľko ďalších funkcií súvisiacich s obrázkami. Tieto funkcie vám umožňujú manipulovať s obrázkami rôznymi spôsobmi, ako je zmena mierky, otáčanie, prevracanie a orezávanie.
Pridanie pokročilých funkcií
PyGame tiež poskytuje niektoré pokročilé funkcie na kreslenie objektov a tvarov. Môžete napríklad použiť pygame.mouse.get_pos() funkcia na získanie polohy myši a pygame.mouse.get_pressed() funkcia na získanie stavu tlačidla myši. Pomocou týchto funkcií môžete vytvoriť funkciu kreslenia kliknutím, ktorá vám umožní kresliť tvary kliknutím myšou.
importovať pygame
# Inicializujte pygame
pygame.init()# Vytvorte okno
okno = pygame.display.set_mode((800, 600))# Hlavná slučka
zatiaľ čoPravda:
# Získajte polohu myši
mouse_position = pygame.mouse.get_pos()# Získajte stav tlačidla myši
mouse_pressed = pygame.mouse.get_pressed()# Ukončenie hry
pre udalosť v pygame.event.get():
ak event.type == pygame. UKONČIŤ:
pygame.quit()
VÝCHOD()# Kreslenie kruhu pri stlačení myši
ak stlačený_myšou[0] == 1:
pygame.draw.circle (okno, (255, 0, 0), mouse_position, 20)
# Aktualizujte displej
pygame.display.update()
Nižšie je výstup:
Jednoducho vytvorte herných škriatkov v PyGame
PyGame tiež poskytuje výkonnú sadu nástrojov na jednoduché vytváranie herných škriatkov a objektov. S pyhra.kresliť modul, môžete ľahko vytvárať sprite, ktoré môžete použiť vo svojich hrách. Môžete ľahko vytvárať postavy, predmety a ďalšie herné prvky.