PyGame je močna in priljubljena knjižnica za razvoj iger za Python. Ponuja nabor orodij in funkcij, ki olajšajo ustvarjanje iger in drugih interaktivnih aplikacij. Ena uporabna funkcija PyGame je njegova sposobnost risanja predmetov in oblik.
Modul pygame.draw
V PyGame je risanje predmetov in oblik preprost postopek. Lahko uporabite pygame.draw modul za risanje oblik, kot so pravokotniki, krogi, črte in drugo.
Pred začetkom se prepričajte, da imate pip nameščen v vaši napravi, nato s tem ukazom namestite PyGame modul:
pip namestite pygame
Risanje osnovnih oblik
The pygame.draw modul ponuja več funkcij, ki vam omogočajo risanje osnovnih oblik. Vsaka funkcija sprejme nabor parametrov za definiranje oblike in njenega položaja.
-
rect(): S to funkcijo lahko narišete pravokotnik. To je ena najpogosteje uporabljenih oblik v igrah. S pravokotniki lahko ustvarite platforme, stene in druge predmete. Funkcija ima štiri parametre: površino (površino, na katero narišemo pravokotnik), barvo, rect (predmet Rect) in širino (debelina črte).
pygame.draw.rect (površina, barva, pravokotnik, širina)
-
krog(): Narišite krog. Zajema štiri parametre: površino, barvo, položaj (središče kroga) in polmer.
pygame.draw.circle (površina, barva, položaj, polmer)
-
poligon(): Nariši mnogokotnik. Zajema štiri parametre: površino, barvo, točke (seznam točk, ki določajo obliko poligona) in širino.
pygame.draw.polygon (površina, barva, točke, širina)
-
vrstica(): Narišite črto. Zajema štiri parametre: površino, barvo, start_pos in end_pos.
pygame.draw.line (površina, barva, start_pos, end_pos)
Celoten seznam funkcij in njihovih parametrov najdete na uradniku Dokumentacija PyGame za modul za risanje.
Risanje zapletenih oblik
Poleg osnovnih oblik vam PyGame omogoča tudi risanje zapletenih oblik, kot so loki, elipse in aline.
-
lok(): Ta funkcija nariše lok na površino. Lok je del kroga. Zajema šest parametrov: površino, barvo, pravokotnico, začetni_kot, končni_kot in širino. Določite kote v stopinjah, pri čemer je 0 stopinj usmerjeno v desno in narašča v smeri urinega kazalca. Parameter širine določa debelino loka.
pygame.draw.arc (površina, barva, pravokotnik, začetni_kot, končni_kot, širina)
-
elipsa(): Na površino narišite elipso. Elipsa je raztegnjen krog. Zajema štiri parametre: površino, barvo, pravokotnost in širino.
pygame.draw.ellipse (površina, barva, pravokotnik, širina)
-
aaline(): Uporabite za risanje ene same izravnane črte na površino. Anti-aliasing je tehnika, ki se uporablja za glajenje robov oblike, tako da je videti bolj naravno. Potrebuje štiri parametre, ki zrcalijo vrstica() funkcija: površina, barva, start_pos in end_pos.
pygame.draw.aaline (površina, barva, start_pos, end_pos)
Ustvarjanje ugnezdenih oblik v PyGame
Druga zanimiva funkcija PyGame je možnost risanja oblik znotraj druge oblike. To lahko storite s kombinacijo osnovnih funkcij za risanje oblik v PyGame.
Če želite narisati obliko znotraj druge oblike, lahko najprej narišete notranjo obliko in nato nanjo narišete zunanjo obliko. Notranja oblika je lahko katera koli osnovna oblika, na primer pravokotnik ali krog.
Na primer, če želite narisati pravokotnik znotraj kroga, lahko uporabite pygame.draw.circle() funkcijo za risanje kroga in nato uporabite pygame.draw.rect() funkcijo za risanje pravokotnika na vrhu.
Naslednje vzorce kod lahko najdete v ta repo GitHub.
Tukaj je primer izrezka kode, ki prikazuje, kako narisati pravokotnik znotraj kroga:
uvoz pygame
# Inicializiraj pygame
pygame.init()# Ustvarite okno
okno = pygame.display.set_mode((800, 600))# Ustvarite krog
circle_rect = pygame.draw.circle (okno, (255, 255, 255), (400, 300), 100)# Ustvarite površino za pravokotnik
rectangle_surface = pygame. Površina((50, 50))
rectangle_surface.set_colorkey((0, 0, 0))# Na površino narišite pravokotnik
pygame.draw.rect (rectangle_surface, (255, 0, 0), (0, 0, 50, 50))# Pobrišite površino na krog
window.blit (rectangle_surface, (375, 275))# Glavna zanka
medtemPrav:
# Zapustite igro
za dogodek v pygame.event.get():
če event.type == pygame. PRENEHATI:
pygame.quit()
izhod()
# Posodobite zaslon
pygame.display.update()
To ustvari učinek pravokotnika znotraj kroga. S to tehniko lahko ustvarite bolj zapletene oblike in igralne elemente s kombiniranjem več oblik.
Risanje slik
PyGame omogoča tudi risanje slik. Lahko uporabite pygame.image.load() funkcijo za nalaganje slike iz datoteke in pygame.image.blit() funkcijo za narišite sliko na zaslonu.
Sintaksa za pygame.image.load() izgleda takole:
pygame.image.load (ime datoteke)
In tukaj je sintaksa za pygame.image.blit():
pygame.image.blit (slika, pravokotnik)
Poleg nalaganja in risanja slik ponuja PyGame tudi številne druge funkcije, povezane s slikami. Te funkcije vam omogočajo upravljanje s slikami na različne načine, kot so spreminjanje velikosti, vrtenje, obračanje in obrezovanje.
Dodajanje naprednih funkcij
PyGame ponuja tudi nekaj naprednih funkcij za risanje predmetov in oblik. Na primer, lahko uporabite pygame.mouse.get_pos() funkcijo za pridobitev položaja miške in pygame.mouse.get_pressed() funkcijo za pridobitev stanja gumba miške. S temi funkcijami lahko ustvarite funkcijo »klikni za risanje«, ki vam omogoča risanje oblik s klikom miške.
uvoz pygame
# Inicializiraj pygame
pygame.init()# Ustvarite okno
okno = pygame.display.set_mode((800, 600))# Glavna zanka
medtemPrav:
# Pridobite položaj miške
položaj_miške = pygame.mouse.get_pos()# Pridobite stanje gumba miške
mouse_pressed = pygame.mouse.get_pressed()# Zapustite igro
za dogodek v pygame.event.get():
če event.type == pygame. PRENEHATI:
pygame.quit()
izhod()# Risanje kroga ob pritisku miške
če miška_pritisnjena [0] == 1:
pygame.draw.circle (okno, (255, 0, 0), položaj_miške, 20)
# Posodobite zaslon
pygame.display.update()
Spodaj je rezultat:
Enostavno ustvarite sprite igre v PyGame
PyGame ponuja tudi zmogljiv nabor orodij za preprosto ustvarjanje spritov in predmetov za igre. z pygame.draw modul, lahko preprosto ustvarite sprite, ki jih lahko uporabite v svojih igrah. Z lahkoto lahko ustvarite like, predmete in druge elemente igre.