From 662cf11c6aca2fe62441cdb390085cde980748a0 Mon Sep 17 00:00:00 2001 From: Lerking Date: Tue, 22 Apr 2025 09:16:21 +0200 Subject: [PATCH] =?UTF-8?q?Update=20Mit=20f=C3=B8rste=20PyGame=20vindue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mit-f%C3%B8rste-PyGame-vindue.md | 63 +++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/Mit-f%C3%B8rste-PyGame-vindue.md b/Mit-f%C3%B8rste-PyGame-vindue.md index 9a92786..f299e8e 100644 --- a/Mit-f%C3%B8rste-PyGame-vindue.md +++ b/Mit-f%C3%B8rste-PyGame-vindue.md @@ -20,9 +20,10 @@ def main(): # Opret main() funktion if event.type == pygame.QUIT: # Er vinduet blevet lukket? running = False # Sær "running" til Falsk (False) - screen.fill((0, 0, 255)) # Sæt vinduets baggrundsfarve til mørkeblå (rød - 0, grøn - 0, blå - 255). Farveværdierne skal være mellem 0 og 255. + # 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 SPIL OPDATERING FOREGÅR HER! + # AL SPILOPDATERING FOREGÅR HER! pygame.display.flip() # Vis alle opdatering i vinduet. @@ -33,3 +34,61 @@ def main(): # Opret main() funktion if __name__ == "__main__": main() # kør main() funktionen ``` + +Her følger et lidt mere avanceret eksempel. + +```python +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 +``` \ No newline at end of file