|
|
@@ -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()
|