Page:
Mit første PyGame vindue
Clone
3
Mit første PyGame vindue
Lerking edited this page 2025-04-22 09:23:16 +02:00
Table of Contents
PyGame initialisering
Simpelt eksempel
Her er et simpelt eksempel på hvordan pygame initialiseres og kører et game loop.
Når brugeren lukker vinduet lukkes pygame modulet.
import pygame # Importér pygame modulet.
def main(): # Opret main() funktion
pygame.init() # Initialisér pygame
screen = pygame.display.set_mode((400, 600)) # Angiv vindue størrelse bredde - 400 og højde 600 pixels.
screen.set_caption("Mit første pygame vindue") # Angiv vindue titel.
clock = pygame.time.Clock() # Vi opretter en timer for skærmopdatering.
running = True # Vi opretter en variable "running" og sætter denne til True (Sand)
while running: # Vi starter et spil loop, som kører så længe "running" er sand (True) - Hvis "running" er falsk (False), forlader vi loopet.
for event in pygame.event.get(): # Vi chekker alle events.
if event.type == pygame.QUIT: # Er vinduet blevet lukket?
running = False # Sær "running" til Falsk (False)
# Vi sætter vinduets baggrundsfarve til mørkeblå (rød - 0, grøn - 0, blå - 255). Farveværdierne skal være mellem 0 og 255.
screen.fill((0, 0, 255))
# AL SPILOPDATERING FOREGÅR HER!
pygame.display.flip() # Vis alle opdatering i vinduet.
clock.tick(60) # Begræns FPS (opdateringer per sekund) til 60
pygame.quit() # pygame lukkes
if __name__ == "__main__":
main() # kør main() funktionen
Mere avanceret eksempel
Her følger et lidt mere avanceret eksempel.
import pygame # Importér pygame modulet.
def main(): # Opret main() funktion
pygame.init() # Initialisér pygame
screen = pygame.display.set_mode((1280, 720)) # Angiv vindue størrelse bredde - 1280 og højde 720 pixels.
screen.set_caption("Mit første pygame vindue") # Angiv vindue titel.
clock = pygame.time.Clock() # Vi opretter en timer for skærmopdatering.
running = True # Vi opretter en variable "running" og sætter denne til True (Sand)
dt = 0 # Vi opretter en variabel for delta tid "dt". Denne bruges til at lave glidende bevægelse, på skærmen.
# Opretter en spiller position variabel "player_pos", og sætter den til midten af vinduet.
player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)
while running: # Vi starter et spil loop, som kører så længe "running" er sand (True) - Hvis "running" er falsk (False), forlader vi loopet.
for event in pygame.event.get(): # Vi chekker alle events.
if event.type == pygame.QUIT: # Er vinduet blevet lukket?
running = False # Sær "running" til Falsk (False)
# Vi sætter vinduets baggrundsfarve til lilla (rød - 255, grøn - 0, blå - 255). Farveværdierne skal være mellem 0 og 255.
screen.fill((255, 0, 255))
# AL SPILOPDATERING FOREGÅR HER!
# Vi tegner en rød cirkel, med radius = 40 pixels, i vinduet, på koordinaterne for "player_pos"
# draw.circle() funktionen, tegner en cirkel, og bruger følgende input:
# Hvilket vindue skal der tegnes på? - "screen"
# Hvilken farve skal der tegnes med? - "red" - Rød. Du kan også angive farven med "(255, 0, 0)"
# Hvor, i vinduet skal der tegnes? - "player_pos", som er en 2-vektor variabel (x-koordinat, y-koordinat)
# Hvor stor radius, skal cirklen have? - 40 pixels
pygame.draw.circle(screen, "red", player_pos, 40)
# Vi tjekker nu, om der er trykket på nogle taster.
keys = pygame.key.get_pressed()
if keys[pygame.K_w]: # Hvis der er trykket på "w"
player_pos.y -= 300 * dt # Vi ændrer y-koordinatet, således at cirkelen flytter sig 300 pixels op.
if keys[pygame.K_s]: # Hvis der er trykket på "s"
player_pos.y += 300 * dt # Vi ændrer y-koordinatet, således at cirkelen flytter sig 300 pixels ned.
if keys[pygame.K_a]: # Hvis der er trykket på "a"
player_pos.x -= 300 * dt # Vi ændrer x-koordinatet, således at cirkelen flytter sig 300 pixels til venstre.
if keys[pygame.K_d]: # Hvis der er trykket på "d"
player_pos.x += 300 * dt # Vi ændrer x-koordinatet, således at cirkelen flytter sig 300 pixels til højre.
pygame.display.flip() # Vis alle opdatering i vinduet.
dt = clock.tick(60) / 1000 # Begræns FPS (opdateringer per sekund) til 60
pygame.quit() # pygame lukkes
if __name__ == "__main__":
main() # kør main() funktionen