Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

PyGame on tehokas ja suosittu pelien kehityskirjasto Pythonille. Se tarjoaa joukon työkaluja ja toimintoja, jotka helpottavat pelien ja muiden interaktiivisten sovellusten luomista. Yksi PyGamen hyödyllinen ominaisuus on sen kyky piirtää esineitä ja muotoja.

Pygame.draw-moduuli

PyGamessa objektien ja muotojen piirtäminen on suoraviivainen prosessi. Voit käyttää pygame.draw moduuli piirtää muotoja, kuten suorakulmioita, ympyröitä, viivoja ja paljon muuta.

Ennen kuin aloitat, varmista, että sinulla on pip asennettuna laitteellesi, käytä sitten tätä komentoa asentaaksesi PyGame moduuli:

pip asennus pygame

Perusmuotojen piirtäminen

The pygame.draw moduuli tarjoaa useita toimintoja, joiden avulla voit piirtää perusmuotoja. Kukin funktio ottaa joukon parametreja määrittääkseen muodon ja sen sijainnin.

  • rect(): Voit piirtää suorakulmion tällä toiminnolla. Tämä on yksi yleisimmin käytetyistä muodoista peleissä. Voit luoda alustoja, seiniä ja muita esineitä suorakaiteen avulla. Funktiolla on neljä parametria: pinta (pinta, jolle suorakulmio piirretään), väri, suora (suora kohde) ja leveys (viivan paksuus).
    pygame.draw.rect (pinta, väri, suora, leveys)
  • ympyrä(): Piirrä ympyrä. Se vaatii neljä parametria: pinta, väri, pos (ympyrän keskipiste) ja säde.
    pygame.draw.circle (pinta, väri, sijainti, säde)
  • monikulmio(): Piirrä monikulmio. Se vaatii neljä parametria: pinta, väri, pisteet (luettelo pisteistä, jotka määrittävät monikulmion muodon) ja leveys.
    pygame.draw.polygon (pinta, väri, pisteet, leveys) 
  • linja(): Piirrä viiva. Se vaatii neljä parametria: pinta, väri, aloituskohta ja loppu.
    pygame.draw.line (pinta, väri, start_pos, end_pos) 

Löydät täydellisen luettelon toiminnoista ja niiden parametreista viralliselta sivulta PyGame-dokumentaatio piirustusmoduulille.

Monimutkaisten muotojen piirtäminen

Perusmuotojen lisäksi PyGame mahdollistaa myös monimutkaisten muotojen, kuten kaarien, ellipsien ja aaliinien, piirtämisen.

  • arc(): Tämä toiminto piirtää kaaren pinnalle. Kaari on ympyrän osa. Se vaatii kuusi parametria: pinta, väri, suora, aloituskulma, loppukulma ja leveys. Määritä kulmat asteina siten, että 0 astetta osoittaa oikealle ja kasvaa myötäpäivään. Leveysparametri määrittää kaaren paksuuden.
    pygame.draw.arc (pinta, väri, suora, aloituskulma, loppukulma, leveys)
  • ellipsi(): Piirrä ellipsi pinnalle. Ellipsi on venytetty ympyrä. Se vaatii neljä parametria: pinta, väri, suora ja leveys.
    pygame.draw.ellipsi (pinta, väri, suora, leveys)
  • aaline(): Käytä piirtääksesi pinnalle yhden anti-aliasoidun viivan. Anti-aliasing on tekniikka, jota käytetään muodon reunojen tasoittamiseen, jotta se näyttää luonnollisemmalta. Se vaatii neljä parametria, jotka heijastavat linja() funktio: pinta, väri, aloituskohta ja loppukohta.
    pygame.draw.aaline (pinta, väri, aloituskohta, end_pos) 

Sisäkkäisten muotojen luominen PyGamessa

Toinen PyGamen mielenkiintoinen ominaisuus on kyky piirtää muotoja toisen muodon sisään. Voit tehdä sen käyttämällä PyGamen perusmuotoilutoimintojen yhdistelmää.

Voit piirtää muodon toisen muodon sisään piirtämällä ensin sisemmän muodon ja sitten ulkomuodon sen päälle. Sisämuoto voi olla mikä tahansa perusmuoto, kuten suorakulmio tai ympyrä.

Voit esimerkiksi piirtää suorakulmion ympyrän sisään käyttämällä pygame.draw.circle() -toimintoa piirtääksesi ympyrän ja käytä sitten pygame.draw.rect() toiminto piirtää suorakulmion sen päälle.

Löydät seuraavat koodiesimerkit osoitteesta tämä GitHub-repo.

Tässä on esimerkkikoodinpätkä, joka osoittaa, kuinka piirretään suorakulmio ympyrän sisään:

tuonti pygame

# Alusta pygame
pygame.init()

# Luo ikkuna
window = pygame.display.set_mode((800, 600))

# Luo piiri
circle_rect = pygame.draw.circle (ikkuna, (255, 255, 255), (400, 300), 100)

# Luo suorakulmiolle pinta
rectangle_surface = pygame. Pinta((50, 50))
rectangle_surface.set_colorkey((0, 0, 0))

# Piirrä suorakulmio pinnalle
pygame.draw.rect (rectangle_surface, (255, 0, 0), (0, 0, 50, 50))

# Leikkaa pinta ympyrän päälle
window.blit (suorakulmion_pinta, (375, 275))

# Pääsilmukka
sillä aikaaTotta:
# Pelin lopettaminen
varten tapahtuma sisään pygame.event.get():
jos event.type == pygame. LOPETTAA:
pygame.quit()
exit()

# Päivitä näyttö
pygame.display.update()

Tämä luo ympyrän sisällä olevan suorakulmion vaikutelman. Voit käyttää tätä tekniikkaa monimutkaisempien muotojen ja pelielementtien luomiseen yhdistämällä useita muotoja.

Kuvien piirtäminen

PyGame mahdollistaa myös kuvien piirtämisen. Voit käyttää pygame.image.load() toiminto ladataksesi kuvan tiedostosta ja pygame.image.blit() toimia piirrä kuva näytölle.

Syntaksi kohteelle pygame.image.load() näyttää tältä:

pygame.image.load (tiedostonimi) 

Ja tässä on syntaksi pygame.image.blit():

pygame.image.blit (kuva, suora) 

Kuvien lataamisen ja piirtämisen lisäksi PyGame tarjoaa myös useita muita kuviin liittyviä toimintoja. Näiden toimintojen avulla voit käsitellä kuvia eri tavoilla, kuten skaalaamalla, kiertämällä, kääntämällä ja rajaamalla.

Lisäominaisuuksien lisääminen

PyGame tarjoaa myös joitain edistyneitä ominaisuuksia objektien ja muotojen piirtämiseen. Voit käyttää esimerkiksi pygame.mouse.get_pos() toiminto määrittää hiiren sijainnin ja pygame.mouse.get_pressed() toiminto saadaksesi hiiren painikkeen tilan. Näiden toimintojen avulla voit luoda napsauttamalla piirtää -ominaisuuden, jonka avulla voit piirtää muotoja napsauttamalla hiirtä.

tuonti pygame 

# Alusta pygame
pygame.init()

# Luo ikkuna
window = pygame.display.set_mode((800, 600))

# Pääsilmukka
sillä aikaaTotta:
# Ota hiiren paikka
hiiren_sijainti = pygame.mouse.get_pos()

# Hae hiiren painikkeen tila
mouse_pressed = pygame.mouse.get_pressed()

# Pelin lopettaminen
varten tapahtuma sisään pygame.event.get():
jos event.type == pygame. LOPETTAA:
pygame.quit()
exit()

# Ympyrän piirtäminen, kun hiirtä painetaan
jos mouse_pressed[0] == 1:
pygame.draw.circle (ikkuna, (255, 0, 0), hiiren_sijainti, 20)

# Päivitä näyttö
pygame.display.update()

Alla on tulos:

Luo helposti pelisprittejä PyGamessa

PyGame tarjoaa myös tehokkaan joukon työkaluja, joiden avulla voit helposti luoda pelisprittejä ja -objekteja. Kanssa pygame.draw moduulin avulla voit helposti luoda spritejä, joita voit käyttää peleissäsi. Voit luoda hahmoja, esineitä ja muita pelielementtejä helposti.