Fler pygame-tekniker
Fönstrets titel
Dina program kommer att se mer professionella ut om fönstertiteln istället för "pygame window" innehåller det faktiska namnet på programmet. Titeln ställs in med funktionen pygame.display.set_caption
:
pygame.display.set_caption("Det stora äventyret")
Att rita former
Följande program ritar en rektangel, en cirkel och en linje på skärmen:
import pygame
pygame.init()
fonster = pygame.display.set_mode((640, 480))
fonster.fill((0, 0, 0))
pygame.draw.rect(fonster, (0, 255, 0), (50, 100, 200, 250))
pygame.draw.circle(fonster, (255, 0, 0), (200, 150), 40)
pygame.draw.line(fonster, (0, 0, 255), (80, 120), (300, 160), 2)
pygame.display.flip()
while True:
for handelse in pygame.event.get():
if handelse.type == pygame.QUIT:
exit()
Körning av koden ovan borde se ut enligt följande:
Att rita text
Text i pygame ritas i två steg: först skapar vi en bild som innehåller den önskade texten, och sedan ritas denna bild på skärmen. Det fungerar på följande sätt:
import pygame
pygame.init()
fonster = pygame.display.set_mode((640, 480))
fonster.fill((0, 0, 0))
font = pygame.font.SysFont("Arial", 24)
text = font.render("<Moikka!>", True, (255, 0, 0))
fonster.blit(text, (100, 50))
pygame.display.flip()
while True:
for handelse in pygame.event.get():
if handelse.type == pygame.QUIT:
exit()
Körning av koden ovan borde se ut enligt följande:
Här skapar metoden pygame.font.SysFont
ett typsnittsobjekt, som använder systemtypsnittet Arial i storlek 24. Metoden render
skapar sedan en bild av den angivna texten i den angivna färgen. Denna bild ritas på fönstret med metoden blit
, precis som tidigare.
OBS: olika system kommer att ha olika teckensnitt tillgängliga. Om det system som det här programmet körs på inte har teckensnittet Arial, trots att Arial är ett mycket vanligt teckensnitt som finns på de flesta system, används istället systemets standardteckensnitt. Om du behöver ha ett specifikt teckensnitt tillgängligt för ditt spel kan du inkludera teckensnittsfilen i spelkatalogen och ange dess plats för metoden pygame.font.Font
.
Övningar
Här är några mer avancerade övningar för att öva på det du har lärt dig i denna del av kursmaterialet.
Svara vänligen på en snabb enkät om denna del av kursen:
Log in to view the quiz
Se dina poäng genom att klicka på cirkeln nere till höger av sidan.