Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

I den här handledningen kommer du att lära dig hur du visar och uppdaterar spelresultat i Pygame, ett populärt Python-bibliotek för spelutveckling. I slutet kommer du att kunna skapa ett enkelt jumper-spel och visa spelarens poäng på skärmen när de går framåt. Spelet spårar tangentbordsinmatning så att du kan flytta spelaren åt vänster och höger med hjälp av piltangenterna.

Skapa ett enkelt spel

Innan du kan visa och uppdatera poäng i Pygame måste du först skapa ett spel att arbeta med. I den här handledningen kommer du att skapa ett enkelt spel där en spelare kan flytta åt vänster eller höger. Men innan dess borde du ha gjort det pip installerad på din enhet. Efter att ha installerat pip, kör kommandot nedan för att installera pygame-modulen:

pip Installera pygame

För att komma igång, importera de nödvändiga modulerna och ställ in spelets grundstruktur:

instagram viewer
importera pygame, sys
pygame.init()

# Sätt upp fönstret
skärm = pygame.display.set_mode((750, 450))

# Ställ in spelklockan
klocka = pygame.time. Klocka()

# Ställ in spelarkaraktären
spelare = pygame. Rekt(100, 200, 50, 50)

# Ställ upp hindret
hinder = pygame. Rekt(200, 200, 50, 50)

# Ställ in spelslingan
medanSann:
# Hantera händelser
för händelse i pygame.event.get():
om event.type == pygame. SLUTA MED:
pygame.quit()
sys.exit()

om event.type == pygame. NYCKEL NER:
om event.key == pygame. K_LEFT:
player.x -= 10
elif event.key == pygame. K_RIGHT:
player.x += 10

# Uppdatera spelläget

# Rita spelet
screen.fill((0, 0, 0))
pygame.draw.rect (skärm, (255, 0, 0), spelare)
pygame.draw.rect (skärm, (0, 255, 0), hinder)

# Uppdatera displayen
pygame.display.flip()

# Begränsa bildfrekvensen
clock.tick(60)

Med denna skelettkod är ditt grundläggande spel spelbart. Tryck på vänster eller höger för att flytta spelarkaraktären, representerad av den röda fyrkanten.

Visa och uppdatera spelresultat

Nu när du har ett grundläggande spel inställt, lägg till ett poängsystem och visa poängen på skärmen.

Konfigurera Pygame för textåtergivning

För att visa text i Pygame måste vi först importera de nödvändiga modulerna och initiera teckensnittsmodulen. För att göra detta, använd följande kod överst i ditt skript:

importera pygame
importera sys
importera os

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

Modulen pygame.font låter dig använda Pygames textåtergivningsmöjligheter, och funktionen pygame.init() initierar teckensnittsmodulen.

Skapa ett grundläggande poängsystem

Skapa sedan ett grundläggande poängsystem för ditt spel. För att göra det, deklarera och initiera två variabler: score och score_increment. Poängvariabeln kommer att hålla reda på spelarens nuvarande poäng, och variabeln score_increment kommer att specificera hur mycket poängen ska öka varje gång spelaren vidrör ett hinder.

Lägg till följande kod överst i ditt skript, under importerna:

poäng = 0
score_increment = 10

Uppdatera sedan poängen allt eftersom spelet fortskrider. I spelslingan kan du kontrollera om spelarkaraktären kolliderar med hindret. Om de är det, öka poängen med det belopp som anges i variabeln score_increment.

Uppdatera spelslingan så att den innehåller följande kod:

# Uppdatera spelläget
om player.colliderect (hinder):
poäng += score_increment

Denna kod kontrollerar om spelarkaraktären kolliderar med hindret. Om de är det, ökar det poängen med det angivna beloppet.

Visa poängen på skärmen med teckensnittsmodulen

Nu när vi har ett grundläggande poängsystem på plats, låt oss visa poängen på skärmen med hjälp av teckensnittsmodulen.

Låt oss först ställa in teckensnittsobjektet genom att lägga till följande kod överst i spelslingan:

# Ställ in teckensnittsobjektet
font = pygame.font. Font(Ingen, 36)

Denna kod skapar ett teckensnittsobjekt med en storlek på 36 pixlar och ingen specificerad teckensnittsfamilj. Du kan anpassa teckensnittet och teckensnittsstorleken genom att ange en annan teckensnittsfil och storlek i Font()-funktionen.

Låt oss sedan rita poängen till skärmen. Lägg till följande kod i spelslingan efter att du har uppdaterat spelstatusen och fyllt skärmen:

# Rita poängen till skärmen
score_text = font.render(f'Betyg: {Göra}', Sann, (255, 255, 255))
screen.blit (score_text, (10, 10))

Den här koden använder render()-metoden för teckensnittsobjektet för att skapa en textyta som innehåller noteringen, och sedan blitar (ritar) textytan till skärmen vid positionen (10, 10).

Anpassa utseendet på nottexten

Slutligen, anpassa utseendet på nottexten genom att välja ett teckensnitt och teckenstorlek och ändra färgen på texten.

För att välja ett specifikt teckensnitt och teckenstorlek, skicka teckensnittsfilen och storleken som argument till Font()-funktionen:

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

Du kan enkelt ladda ner olika teckensnittsfiler från internet. Efter nedladdning, placera bara teckensnittsfilen i roten av din arbetskatalog.

För att ändra färgen på texten, skicka en färgtuppel som det tredje argumentet till render()-metoden:

score_text = font.render(f'Betyg: {Göra}', Sann, (0, 255, 0))

Och det är allt! Med dessa ändringar bör du nu ha ett fullt fungerande spelpoängsystem som visar poängen på skärmen och uppdaterar den när spelaren går vidare genom spelet. Du kan ytterligare anpassa utseendet på nottexten genom att experimentera med olika teckensnittsfamiljer, storlekar och färger.

Poängspårning i spel

Nedan finns hela arbetskoden, du kan även hitta koden på denna GitHub repo.

importera pygame
importera os

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

poäng = 0
score_increment = 10

# Sätt upp fönstret
skärm = pygame.display.set_mode((750, 450))

# Ställ in spelklockan
klocka = pygame.time. Klocka()

# Ställ in spelarkaraktären
spelare = pygame. Rekt(100, 200, 50, 50)

# Ställ upp hindret
hinder = pygame. Rekt(200, 200, 50, 50)

# Ställ in spelslingan
medanSann:
font = pygame.font. Font(Ingen, 36)
# Hantera händelser
för händelse i pygame.event.get():
om event.type == pygame. SLUTA MED:
pygame.quit()
sys.exit()
om event.type == pygame. NYCKEL NER:
om event.key == pygame. K_LEFT:
player.x -= 10
elif event.key == pygame. K_RIGHT:
player.x += 10

# Uppdatera spelläget
om player.colliderect (hinder):
poäng += score_increment


# Rita spelet
screen.fill((0, 0, 0))
pygame.draw.rect (skärm, (255, 0, 0), spelare)
pygame.draw.rect (skärm, (0, 255, 0), hinder)

# Rita poängen till skärmen
score_text = font.render(f'Betyg: {Göra}', Sann, (255, 255, 255))
screen.blit (score_text, (10, 10))

# Uppdatera displayen
pygame.display.flip()

# Begränsa bildfrekvensen
clock.tick(60)

Den här koden skapar ett fönster med en storlek på 750x450 pixlar, en spelarkaraktär och ett hinder. Den använder en spelloop för att hantera händelser, uppdatera status och dra spelet till skärmen. Det innehåller också ett poängsystem som ökar poängen med tio poäng varje gång spelarens karaktär kolliderar med hindret, och ett teckensnittsobjekt och textåtergivningskod för att visa poängen på skärmen.

I händelsehanteringssektionen innehåller koden även funktionalitet för att flytta spelarkaraktären åt vänster och höger med hjälp av piltangenterna.

Spelslingan innehåller kod för att uppdatera displayen och begränsa bildfrekvensen till 60 FPS, vilket säkerställer att spelet fungerar smidigt.

Sammantaget ger den här koden ett grundläggande exempel på hur man visar och uppdaterar spelresultat i Pygame, och den kan anpassas ytterligare och utökas för att skapa mer komplexa och engagerande spel.

Skapa olika spel med Pygame

Pygame är ett kraftfullt och lättanvänt bibliotek för att skapa spel i Python. Med dess rika uppsättning funktioner och möjligheter kan du skapa ett brett utbud av spel, från enkla jumprar och plattformsspel till mer komplexa och uppslukande spel.

Oavsett om du är nybörjare eller erfaren spelutvecklare är Pygame ett utmärkt val för att skapa engagerande och roliga spel.