Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju. Čitaj više.

U ovom vodiču naučit ćete kako prikazati i ažurirati rezultate igre u Pygameu, popularnoj Python biblioteci za razvoj igara. Na kraju ćete moći stvoriti jednostavnu igru ​​skakanja i prikazati igračev rezultat na zaslonu dok napreduje. Igra prati unos tipkovnicom tako da možete pomicati igrača lijevo i desno pomoću tipki sa strelicama.

Stvaranje jednostavne igre

Prije nego što možete prikazati i ažurirati rezultate u Pygameu, prvo ćete morati stvoriti igru ​​s kojom ćete raditi. U ovom vodiču izradit ćete jednostavnu igru ​​u kojoj se igrač može kretati lijevo ili desno. Ali prije toga, trebali ste pip instaliran na vašem uređaju. Nakon instaliranja pip-a, pokrenite naredbu u nastavku da biste instalirali modul pygame:

pip instalirati pygame

Za početak uvezite potrebne module i postavite osnovnu strukturu igre:

uvoz pygame, sys
pygame.init()

# Postavite prozor
zaslon = pygame.display.set_mode((750, 450))

instagram viewer

# Postavite sat za igru
sat = pygame.vrijeme. Sat()

# Postavite karakter igrača
igrač = pygame. Pravo(100, 200, 50, 50)

# Postavite prepreku
prepreka = pygame. Pravo(200, 200, 50, 50)

# Postavite petlju igre
dokPravi:
# Rukovanje događajima
za događaj u pygame.event.get():
ako event.type == pygame. PRESTATI:
pygame.quit()
sys.exit()

ako event.type == pygame. KEYDOWN:
ako event.key == pygame. K_LIJEVO:
igrač.x -= 10
elif event.key == pygame. K_DESNO:
igrač.x += 10

# Ažurirajte stanje igre

# Izvucite igru
screen.fill((0, 0, 0))
pygame.draw.rect (zaslon, (255, 0, 0), igrač)
pygame.draw.rect (zaslon, (0, 255, 0), zapreka)

# Ažurirajte zaslon
pygame.display.flip()

# Ograničite broj sličica u sekundi
clock.tick(60)

S ovim kosturnim kodom možete igrati svoju osnovnu igru. Pritisnite lijevo ili desno za pomicanje lika igrača, predstavljenog crvenim kvadratom.

Prikaz i ažuriranje rezultata igre

Sada kada ste postavili osnovnu igru, dodajte sustav bodovanja i prikažite rezultat na ekranu.

Postavljanje Pygamea za prikaz teksta

Za prikaz teksta u Pygameu, prvo moramo uvesti potrebne module i inicijalizirati modul fonta. Da biste to učinili, upotrijebite sljedeći kôd na vrhu svoje skripte:

uvoz pygame
uvoz sustav
uvoz os

pygame.init()
pygame.font.init()

Modul pygame.font omogućuje korištenje Pygameovih mogućnosti prikazivanja teksta, a funkcija pygame.init() inicijalizira modul fonta.

Stvaranje osnovnog sustava bodovanja

Zatim izradite osnovni sustav bodovanja za svoju igru. Da biste to učinili, deklarirajte i inicijalizirajte dvije varijable: score i score_increment. Varijabla rezultata će pratiti igračev trenutni rezultat, a varijabla score_increment će odrediti koliko bi se rezultat trebao povećati svaki put kada igrač dotakne prepreku.

Dodajte sljedeći kod na vrh svoje skripte, ispod uvoza:

rezultat = 0
povećanje_boda = 10

Zatim ažurirajte rezultat kako igra napreduje. U petlji igre možete provjeriti sudara li se lik igrača s preprekom. Ako jesu, povećajte rezultat za iznos naveden u varijabli score_increment.

Ažurirajte petlju igre kako biste uključili sljedeći kod:

# Ažurirajte stanje igre
ako igrač.colliderect (prepreka):
rezultat += povećanje_boda

Ovaj kod provjerava sudara li se lik igrača s preprekom. Ako jesu, rezultat se povećava za navedeni iznos.

Prikaz rezultata na zaslonu pomoću modula fonta

Sada kada imamo postavljen osnovni sustav bodovanja, prikažimo rezultat na ekranu pomoću modula fonta.

Prvo, postavimo objekt fonta dodavanjem sljedećeg koda na vrh petlje igre:

# Postavite objekt fonta
font = pygame.font. Font (Nijedan, 36)

Ovaj kod stvara objekt fonta veličine 36 piksela i bez navedene obitelji fontova. Font i veličinu fonta možete prilagoditi navođenjem druge datoteke i veličine fonta u funkciji Font().

Zatim, nacrtajmo rezultat na ekranu. Dodajte sljedeći kod u petlju igre nakon što ažurirate stanje igre i ispunite zaslon:

# Iscrtajte rezultat na ekranu
rezultat_tekst = font.render(f'Score: {postići}', Pravi, (255, 255, 255))
screen.blit (score_text, (10, 10))

Ovaj kod koristi metodu render() objekta fonta za stvaranje tekstualne površine koja sadrži partituru, a zatim iscrtava (crta) tekstualnu površinu na zaslonu na poziciji (10, 10).

Prilagodba izgleda teksta partiture

Na kraju, prilagodite izgled notnog teksta odabirom fonta i veličine fonta te promjenom boje teksta.

Da biste odabrali određeni font i veličinu fonta, proslijedite datoteku i veličinu fonta kao argumente funkciji Font():

font = pygame.font. Font ('arial.ttf', 48)

Možete lako preuzmite različite datoteke fontova s interneta. Nakon preuzimanja samo postavite datoteku fonta u korijen vašeg radnog direktorija.

Da biste promijenili boju teksta, proslijedite tuple boja kao treći argument render() metodi:

rezultat_tekst = font.render(f'Score: {postići}', Pravi, (0, 255, 0))

I to je to! S ovim promjenama, sada biste trebali imati potpuno funkcionalan sustav rezultata igre koji prikazuje rezultat na ekranu i ažurira ga kako igrač napreduje kroz igru. Izgled teksta partiture možete dodatno prilagoditi eksperimentiranjem s različitim obiteljima fontova, veličinama i bojama.

Praćenje rezultata u igri

Ispod je puni radni kod, također možete pronaći kod na ovome GitHub repo.

uvoz pygame
uvoz os

pygame.init()
pygame.font.init()

rezultat = 0
povećanje_boda = 10

# Postavite prozor
zaslon = pygame.display.set_mode((750, 450))

# Postavite sat za igru
sat = pygame.vrijeme. Sat()

# Postavite karakter igrača
igrač = pygame. Pravo(100, 200, 50, 50)

# Postavite prepreku
prepreka = pygame. Pravo(200, 200, 50, 50)

# Postavite petlju igre
dokPravi:
font = pygame.font. Font (Nijedan, 36)
# Rukovanje događajima
za događaj u pygame.event.get():
ako event.type == pygame. PRESTATI:
pygame.quit()
sys.exit()
ako event.type == pygame. KEYDOWN:
ako event.key == pygame. K_LIJEVO:
igrač.x -= 10
elif event.key == pygame. K_DESNO:
igrač.x += 10

# Ažurirajte stanje igre
ako igrač.colliderect (prepreka):
rezultat += povećanje_boda


# Izvucite igru
screen.fill((0, 0, 0))
pygame.draw.rect (zaslon, (255, 0, 0), igrač)
pygame.draw.rect (zaslon, (0, 255, 0), zapreka)

# Iscrtajte rezultat na ekranu
rezultat_tekst = font.render(f'Score: {postići}', Pravi, (255, 255, 255))
screen.blit (score_text, (10, 10))

# Ažurirajte zaslon
pygame.display.flip()

# Ograničite broj sličica u sekundi
clock.tick(60)

Ovaj kod stvara prozor veličine 750x450 piksela, lik igrača i prepreku. Koristi petlju igre za rukovanje događajima, ažuriranje stanja i izvlačenje igre na zaslon. Također uključuje sustav bodovanja koji povećava rezultat za deset bodova svaki put kada se pojavi lik igrača sudara se s preprekom i objekt fonta i kod za prikaz teksta za prikaz rezultata na zaslonu.

U odjeljku za obradu događaja, kod također uključuje funkcionalnost za pomicanje lika igrača lijevo i desno pomoću tipki sa strelicama.

Petlja igre uključuje kod za ažuriranje zaslona i ograničavanje brzine kadrova na 60 FPS, čime se osigurava glatko odvijanje igre.

Općenito, ovaj kod pruža osnovni primjer kako prikazati i ažurirati rezultate igre u Pygameu, a može se dodatno prilagoditi i proširiti za stvaranje složenijih i zanimljivijih igara.

Stvorite različite igre koristeći Pygame

Pygame je moćna biblioteka jednostavna za korištenje za stvaranje igara u Pythonu. S njegovim bogatim skupom značajki i mogućnosti, možete stvoriti širok raspon igara, od jednostavnih jumpera i platformera do složenijih i sveobuhvatnijih igara.

Bilo da ste početnik ili iskusni programer igara, Pygame je izvrstan izbor za stvaranje zanimljivih i zabavnih igara.