În acest tutorial, veți învăța cum să afișați și să actualizați scorurile jocurilor în Pygame, o bibliotecă populară Python pentru dezvoltarea jocurilor. Până la sfârșit, vei putea crea un joc simplu de sărituri și vei afișa scorul jucătorului pe ecran pe măsură ce progresează. Jocul urmărește introducerea de la tastatură, astfel încât să puteți muta jucătorul la stânga și la dreapta folosind tastele săgeți.
Crearea unui joc simplu
Înainte de a putea afișa și actualiza scorurile în Pygame, mai întâi va trebui să creați un joc cu care să lucrați. În acest tutorial, veți crea un joc simplu în care un jucător se poate deplasa la stânga sau la dreapta. Dar înainte de asta, ar trebui să ai pip instalat pe dispozitivul dvs. După instalarea pip, rulați comanda de mai jos pentru a instala modulul pygame:
pip instalare pygame
Pentru a începe, importați modulele necesare și configurați structura de bază a jocului:
import pygame, sys
pygame.init()# Configurați fereastra
ecran = pygame.display.set_mode((750, 450))# Configurați ceasul jocului
ceas = pygame.time. Ceas()# Configurați personajul jucătorului
player = pygame. Rect(100, 200, 50, 50)# Stabiliți obstacolul
obstacol = pygame. Rect(200, 200, 50, 50)# Configurați bucla de joc
in timp ceAdevărat:
# Gestionați evenimentele
pentru eveniment în pygame.event.get():
dacă event.type == pygame. PĂRĂSI:
pygame.quit()
sys.exit()dacă event.type == pygame. TASTA ÎN JOS:
dacă event.key == pygame. K_LEFT:
player.x -= 10
elif event.key == pygame. K_DREPTA:
player.x += 10
# Actualizați starea jocului
# Desenați jocul
screen.fill((0, 0, 0))
pygame.draw.rect (ecran, (255, 0, 0), jucător)
pygame.draw.rect (ecran, (0, 255, 0), obstacol)
# Actualizați afișajul
pygame.display.flip()
# Limitați rata de cadre
clock.tick(60)
Cu acest cod schelet, jocul tău de bază poate fi jucat. Apăsați stânga sau dreapta pentru a muta personajul jucătorului, reprezentat de pătratul roșu.
Afișarea și actualizarea scorului jocului
Acum că aveți un joc de bază configurat, adăugați un sistem de scor și afișați scorul pe ecran.
Configurarea Pygame pentru redarea textului
Pentru a afișa text în Pygame, mai întâi trebuie să importam modulele necesare și să inițializam modulul de font. Pentru a face acest lucru, utilizați următorul cod din partea de sus a scriptului:
import pygame
import sys
import os
pygame.init()
pygame.font.init()
Modulul pygame.font vă permite să utilizați capacitățile de redare a textului Pygame, iar funcția pygame.init() inițializează modulul de font.
Crearea unui sistem de punctare de bază
Apoi, creați un sistem de punctaj de bază pentru jocul dvs. Pentru a face acest lucru, declarați și inițializați două variabile: scor și score_increment. Variabila scor va ține evidența scorului curent al jucătorului, iar variabila score_increment va specifica cât de mult ar trebui să crească scorul de fiecare dată când jucătorul atinge un obstacol.
Adăugați următorul cod în partea de sus a scriptului, sub importuri:
scor = 0
scor_increment = 10
Apoi, actualizați scorul pe măsură ce jocul progresează. În bucla de joc, puteți verifica dacă personajul jucătorului se ciocnește de obstacol. Dacă sunt, creșteți scorul cu suma specificată în variabila score_increment.
Actualizați bucla de joc pentru a include următorul cod:
# Actualizați starea jocului
dacă jucător.coliderect (obstacol):
scor += scor_increment
Acest cod verifică dacă personajul jucătorului se ciocnește de obstacol. Dacă sunt, acesta crește scorul cu suma specificată.
Afișarea scorului pe ecran cu modulul Font
Acum că avem un sistem de punctare de bază, să afișăm scorul pe ecran folosind modulul de font.
Mai întâi, să setăm obiectul font adăugând următorul cod în partea de sus a buclei jocului:
# Configurați obiectul font
font = pygame.font. Font(Nici unul, 36)
Acest cod creează un obiect font cu o dimensiune de 36 de pixeli și fără o familie de fonturi specificată. Puteți personaliza fontul și dimensiunea fontului specificând un fișier de font și o dimensiune diferite în funcția Font().
Apoi, să desenăm scorul pe ecran. Adăugați următorul cod în bucla de joc, după ce ați actualizat starea jocului și ați completat ecranul:
# Desenați scorul pe ecran
scor_text = font.render(Scor f: {Scor}', Adevărat, (255, 255, 255))
screen.blit (score_text, (10, 10))
Acest cod folosește metoda render() a obiectului font pentru a crea o suprafață de text care să conțină scorul, și apoi blită (desenează) suprafața textului pe ecran în poziția (10, 10).
Personalizarea aspectului textului partiturii
În cele din urmă, personalizați aspectul textului partiturii alegând un font și dimensiunea fontului și schimbând culoarea textului.
Pentru a alege un anumit font și dimensiunea fontului, transmiteți fișierul și dimensiunea fontului ca argumente funcției Font():
font = pygame.font. Font(„arial.ttf”, 48)
Poți cu ușurință descărcați diferite fișiere cu fonturi de pe internet. După descărcare, plasați fișierul fontului la rădăcina directorului de lucru.
Pentru a schimba culoarea textului, treceți un tuplu de culoare ca al treilea argument la metoda render():
scor_text = font.render(Scor f: {Scor}', Adevărat, (0, 255, 0))
Si asta e! Cu aceste modificări, ar trebui să aveți acum un sistem de scoruri de joc complet funcțional, care afișează scorul pe ecran și îl actualizează pe măsură ce jucătorul progresează în joc. Puteți personaliza și mai mult aspectul textului partiturii experimentând diferite familii de fonturi, dimensiuni și culori.
Urmărirea scorurilor în joc
Mai jos este codul de lucru complet, puteți găsi și codul pe acesta GitHub repo.
import pygame
import ospygame.init()
pygame.font.init()scor = 0
scor_increment = 10# Configurați fereastra
ecran = pygame.display.set_mode((750, 450))# Configurați ceasul jocului
ceas = pygame.time. Ceas()# Configurați personajul jucătorului
player = pygame. Rect(100, 200, 50, 50)# Stabiliți obstacolul
obstacol = pygame. Rect(200, 200, 50, 50)# Configurați bucla de joc
in timp ceAdevărat:
font = pygame.font. Font(Nici unul, 36)
# Gestionați evenimentele
pentru eveniment în pygame.event.get():
dacă event.type == pygame. PĂRĂSI:
pygame.quit()
sys.exit()
dacă event.type == pygame. TASTA ÎN JOS:
dacă event.key == pygame. K_LEFT:
player.x -= 10
elif event.key == pygame. K_DREPTA:
player.x += 10
# Actualizați starea jocului
dacă jucător.coliderect (obstacol):
scor += scor_increment
# Desenați jocul
screen.fill((0, 0, 0))
pygame.draw.rect (ecran, (255, 0, 0), jucător)
pygame.draw.rect (ecran, (0, 255, 0), obstacol)
# Desenați scorul pe ecran
scor_text = font.render(Scor f: {Scor}', Adevărat, (255, 255, 255))
screen.blit (score_text, (10, 10))
# Actualizați afișajul
pygame.display.flip()
# Limitați rata de cadre
clock.tick(60)
Acest cod creează o fereastră cu o dimensiune de 750x450 pixeli, un caracter de jucător și un obstacol. Folosește o buclă de joc pentru a gestiona evenimente, pentru a actualiza starea și pentru a atrage jocul pe ecran. Include, de asemenea, un sistem de notare care crește scorul cu zece puncte de fiecare dată când personajul jucătorului se ciocnește de obstacol și un obiect font și cod de redare a textului pentru a afișa scorul pe ecran.
În secțiunea de gestionare a evenimentelor, codul include și funcționalitate pentru a muta personajul jucătorului la stânga și la dreapta folosind tastele săgeți.
Bucla jocului include cod pentru a actualiza afișajul și a limita rata de cadre la 60 FPS, asigurând că jocul funcționează fără probleme.
În general, acest cod oferă un exemplu de bază despre cum să afișați și să actualizați scorurile jocurilor în Pygame și poate fi personalizat și extins pentru a crea jocuri mai complexe și mai captivante.
Creați diferite jocuri folosind Pygame
Pygame este o bibliotecă puternică și ușor de utilizat pentru crearea de jocuri în Python. Cu setul său bogat de caracteristici și capabilități, puteți crea o gamă largă de jocuri, de la simple jumperi și platforme până la jocuri mai complexe și mai captivante.
Fie că ești un începător sau un dezvoltator de jocuri cu experiență, Pygame este o alegere excelentă pentru a crea jocuri captivante și distractive.