Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Šajā apmācībā jūs uzzināsit, kā parādīt un atjaunināt spēļu rezultātus Pygame, populārā Python bibliotēkā spēļu izstrādei. Beigās jūs varēsiet izveidot vienkāršu lēcienu spēli un parādīt spēlētāja rezultātu ekrānā, kad tas turpinās. Spēle izseko tastatūras ievadi, lai jūs varētu pārvietot atskaņotāju pa kreisi un pa labi, izmantojot bulttaustiņus.

Vienkāršas spēles izveide

Lai Pygame rādītu un atjauninātu rezultātus, vispirms ir jāizveido spēle, ar kuru strādāt. Šajā apmācībā jūs izveidosit vienkāršu spēli, kurā spēlētājs var pārvietoties pa kreisi vai pa labi. Bet pirms tam jums vajadzēja pip ir instalēts jūsu ierīcē. Pēc pip instalēšanas palaidiet tālāk norādīto komandu, lai instalētu pygame moduli:

pip uzstādīt pygame

Lai sāktu, importējiet nepieciešamos moduļus un iestatiet spēles pamatstruktūru:

imports pygame, sys
pygame.init()

# Iestatiet logu
ekrāns = pygame.display.set_mode((750, 450))

instagram viewer

# Iestatiet spēles pulksteni
pulkstenis = pygame.time. Pulkstenis ()

# Iestatiet spēlētāja raksturu
spēlētājs = pygame. Rect(100, 200, 50, 50)

# Uzstādiet šķērsli
šķērslis = pygame. Rect(200, 200, 50, 50)

# Iestatiet spēles cilpu
kamērTaisnība:
# Apstrādājiet notikumus
priekš notikumu iekšā pygame.event.get():
ja event.type == pygame. IZIET:
pygame.quit()
sys.exit()

ja event.type == pygame. KEYDOWN:
ja event.key == pygame. K_LEFT:
atskaņotājs.x -= 10
elifs event.key == pygame. K_RIGHT:
atskaņotājs.x += 10

# Atjauniniet spēles stāvokli

# Uzzīmējiet spēli
screen.fill((0, 0, 0))
pygame.draw.rect (ekrāns, (255, 0, 0), spēlētājs)
pygame.draw.rect (ekrāns, (0, 255, 0), šķērslis)

# Atjauniniet displeju
pygame.display.flip()

# Ierobežojiet kadru ātrumu
pulkstenis.tick(60)

Ar šo skeleta kodu jūsu pamata spēle ir spēlējama. Nospiediet pa kreisi vai pa labi, lai pārvietotu spēlētāja tēlu, ko attēlo sarkanais kvadrāts.

Spēles rezultātu parādīšana un atjaunināšana

Tagad, kad ir iestatīta pamata spēle, pievienojiet punktu skaitīšanas sistēmu un parādiet rezultātu ekrānā.

Pygame iestatīšana teksta renderēšanai

Lai Pygame parādītu tekstu, mums vispirms ir jāimportē nepieciešamie moduļi un jāinicializē fonta modulis. Lai to izdarītu, izmantojiet šo kodu skripta augšdaļā:

imports pygame
imports sys
imports os

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

Modulis pygame.font ļauj izmantot Pygame teksta renderēšanas iespējas, un funkcija pygame.init() inicializē fontu moduli.

Pamata punktu sistēmas izveide

Pēc tam izveidojiet savai spēlei pamata punktu skaitīšanas sistēmu. Lai to izdarītu, deklarējiet un inicializējiet divus mainīgos: score un score_increment. Rezultāta mainīgais sekos līdzi spēlētāja pašreizējam rezultātam, un mainīgais score_increment norādīs, cik daudz rezultātam jāpalielinās katru reizi, kad spēlētājs pieskaras šķērslim.

Pievienojiet šādu kodu skripta augšdaļā zem importētajiem failiem:

rezultāts = 0
score_increment = 10

Pēc tam atjauniniet rezultātu spēles gaitā. Spēles cilpā varat pārbaudīt, vai spēlētāja varonis nesaskaras ar šķērsli. Ja tā ir, palieliniet rezultātu par vērtību, kas norādīta mainīgajā score_increment.

Atjauniniet spēles cilpu, lai iekļautu šādu kodu:

# Atjauniniet spēles stāvokli
ja player.colliderect (šķērslis):
score += score_inkrement

Šis kods pārbauda, ​​vai spēlētāja varonis nesaskaras ar šķērsli. Ja tie ir, tas palielina punktu skaitu par norādīto summu.

Rezultāta parādīšana ekrānā, izmantojot fontu moduli

Tagad, kad mums ir ieviesta pamata vērtēšanas sistēma, parādīsim rezultātu ekrānā, izmantojot fontu moduli.

Vispirms iestatīsim fonta objektu, pievienojot šādu kodu spēles cilpas augšpusē:

# Iestatiet fonta objektu
fonts = pygame.font. Fonts(Nav, 36)

Šis kods izveido fonta objektu ar izmēru 36 pikseļi un bez noteiktas fontu saimes. Varat pielāgot fontu un fonta lielumu, funkcijā Font() norādot citu fonta failu un lielumu.

Pēc tam uzzīmēsim rezultātu uz ekrāna. Pēc spēles stāvokļa atjaunināšanas un ekrāna aizpildīšanas pievienojiet spēles cilpai šādu kodu:

# Uzzīmējiet rezultātu uz ekrāna
score_text = font.render(f'Score: {score}', Taisnība, (255, 255, 255))
screen.blit (score_text, (10, 10))

Šis kods izmanto fonta objekta render() metodi, lai izveidotu teksta virsmu, kurā ir rezultāts, un pēc tam teksta virsmu pārvieto (uzzīmē) uz ekrānu pozīcijā (10, 10).

Rezultāta teksta izskata pielāgošana

Visbeidzot, pielāgojiet rezultātu teksta izskatu, izvēloties fontu un fonta lielumu un mainot teksta krāsu.

Lai izvēlētos noteiktu fontu un fonta lielumu, nododiet fonta failu un lielumu kā argumentus funkcijai Font():

fonts = pygame.font. Fonts("arial.ttf", 48)

Jūs varat viegli lejupielādēt dažādus fontu failus no interneta. Pēc lejupielādes ievietojiet fonta failu sava darba direktorija saknē.

Lai mainītu teksta krāsu, nododiet krāsu virkni kā trešo argumentu render() metodei:

score_text = font.render(f'Score: {score}', Taisnība, (0, 255, 0))

Un tas arī viss! Pateicoties šīm izmaiņām, jums tagad vajadzētu būt pilnībā funkcionējošai spēļu punktu sistēmai, kas parāda rezultātu ekrānā un atjaunina to, spēlētājam turpinot spēli. Varat vēl vairāk pielāgot rezultātu teksta izskatu, eksperimentējot ar dažādām fontu saimēm, izmēriem un krāsām.

Rezultātu izsekošana spēlē

Zemāk ir pilns darba kods, jūs varat arī atrast kodu šajā GitHub repo.

imports pygame
imports os

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

rezultāts = 0
score_increment = 10

# Iestatiet logu
ekrāns = pygame.display.set_mode((750, 450))

# Iestatiet spēles pulksteni
pulkstenis = pygame.time. Pulkstenis ()

# Iestatiet spēlētāja raksturu
spēlētājs = pygame. Rect(100, 200, 50, 50)

# Uzstādiet šķērsli
šķērslis = pygame. Rect(200, 200, 50, 50)

# Iestatiet spēles cilpu
kamērTaisnība:
fonts = pygame.font. Fonts(Nav, 36)
# Apstrādājiet notikumus
priekš notikumu iekšā pygame.event.get():
ja event.type == pygame. IZIET:
pygame.quit()
sys.exit()
ja event.type == pygame. KEYDOWN:
ja event.key == pygame. K_LEFT:
atskaņotājs.x -= 10
elifs event.key == pygame. K_RIGHT:
atskaņotājs.x += 10

# Atjauniniet spēles stāvokli
ja player.colliderect (šķērslis):
score += score_inkrement


# Uzzīmējiet spēli
screen.fill((0, 0, 0))
pygame.draw.rect (ekrāns, (255, 0, 0), spēlētājs)
pygame.draw.rect (ekrāns, (0, 255, 0), šķērslis)

# Uzzīmējiet rezultātu uz ekrāna
score_text = font.render(f'Score: {score}', Taisnība, (255, 255, 255))
screen.blit (score_text, (10, 10))

# Atjauniniet displeju
pygame.display.flip()

# Ierobežojiet kadru ātrumu
pulkstenis.tick(60)

Šis kods izveido logu ar izmēru 750x450 pikseļi, spēlētāja tēlu un šķērsli. Tas izmanto spēles cilpu, lai apstrādātu notikumus, atjauninātu stāvokli un parādītu spēli ekrānā. Tajā ir iekļauta arī vērtēšanas sistēma, kas palielina rezultātu par desmit punktiem katru reizi, kad spēlētāja varonis saduras ar šķērsli, un fonta objektu un teksta renderēšanas kodu, lai parādītu rezultātu ekrānā.

Notikumu apstrādes sadaļā kods ietver arī funkcionalitāti, lai pārvietotu spēlētāja rakstzīmi pa kreisi un pa labi, izmantojot bulttaustiņus.

Spēles cilpa ietver kodu, lai atjauninātu displeju un ierobežotu kadru ātrumu līdz 60 FPS, nodrošinot, ka spēle darbojas vienmērīgi.

Kopumā šis kods sniedz pamata piemēru, kā Pygame parādīt un atjaunināt spēļu rezultātus, un to var vēl vairāk pielāgot un paplašināt, lai izveidotu sarežģītākas un saistošākas spēles.

Izveidojiet dažādas spēles, izmantojot Pygame

Pygame ir jaudīga un viegli lietojama bibliotēka spēļu izveidei programmā Python. Pateicoties bagātīgajam funkciju un iespēju komplektam, varat izveidot plašu spēļu klāstu, sākot no vienkāršiem džemperiem un platformas spēlēm līdz sarežģītākām un ieskaujošākām spēlēm.

Neatkarīgi no tā, vai esat iesācējs vai pieredzējis spēļu izstrādātājs, Pygame ir lieliska izvēle aizraujošu un jautru spēļu izveidei.