tirsa 1 долоо хоног өмнө
parent
commit
3a9c170f49
1 өөрчлөгдсөн 29 нэмэгдсэн , 29 устгасан
  1. 29 29
      raketa 17-2.py

+ 29 - 29
raketa 17-2.py

@@ -7,48 +7,45 @@ pygame.init()
 screen = pygame.display.set_mode((1280, 720))
 clock = pygame.time.Clock()
 running = True
-dt = 0
-smer = "none"
-player_pos = pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)
+
+player = pygame.sprite.Sprite()
+player.image = pygame.image.load("raketa.png").convert_alpha()
+player.rect = player.image.get_rect()
+player.speed = pygame.Vector2((0, 0))
+player.position = pygame.Vector2((30, 30))
+
+wall = pygame.sprite.Sprite()
+wall.image = pygame.Surface((10, 20))
+wall.image.fill("red")
+wall.rect = wall.image.get_rect().move((500, 100))
+
+everything = pygame.sprite.Group([player, wall])
  
 while running:
-        # poll for events
-        # pygame.QUIT event means the user clicked X to close your window
         for event in pygame.event.get():
             if event.type == pygame.QUIT:
                 running = False
+    
+        dt = clock.tick(60) / 1000
 
-        # fill the screen with a color to wipe away anything from last frame
-        screen.fill("pink")
- 
-        pygame.draw.circle(screen, "lightblue", player_pos, 40)
  
         keys = pygame.key.get_pressed()
         if keys[pygame.K_w]:
-            smer = "up"
-            obrazek = pygame.image.load("raketa.png").convert_alpha()
+            player.image = pygame.image.load("raketa.png").convert_alpha()
         if keys[pygame.K_s]:
-            smer = "down"
-            obrazek = pygame.image.load("raketa.png").convert_alpha()
-            obrazek = pygame.transform.rotate(obrazek, 180)
+            player.image = pygame.transform.rotate(player.image, 180)
         if keys[pygame.K_a]:
-            smer = "left"
-            obrazek = pygame.image.load("raketa.png").convert_alpha()
-            obrazek = pygame.transform.rotate(obrazek, 90)
+            player.image = pygame.transform.rotate(player.image, 90)
         if keys[pygame.K_d]:
-            smer = "right"
-            obrazek = pygame.image.load("raketa.png").convert_alpha()
-            obrazek = pygame.transform.rotate(obrazek, 270)
+            obrazek = pygame.transform.rotate(player.image, 270)
         if keys[pygame.K_SPACE]:
-            smer = "none"
-        if smer == "up":
-            pos.y -= 300 * dt
-        if smer == "down":
-            pos.y += 300 * dt
-        if smer == "left":
-            pos.x -= 300 * dt
-        if smer == "right":
-            pos.x += 300 * dt
+             player.image = pygame.image.load("raketa.png").convert_alpha()
+
+    
+        player.speed.x += 25.0 * dt * (keys[pygame.K_d] - keys[pygame.K_a])
+        player.speed.y += 25.0 * dt * (keys[pygame.K_w] - keys[pygame.K_s])
+        player.position += player.speed * dt
+        player.rect.topleft = player.position
 
         # flip() the display to put your work on screen
         pygame.display.flip()
@@ -58,4 +55,7 @@ while running:
         # independent physics.
         dt = clock.tick(60) / 1000
 
+        screen.fill("darkblue")
+        everything.draw(screen)
+
 pygame.quit()