diff --git a/Movement.py b/Movement.py new file mode 100644 index 0000000..1e7c515 --- /dev/null +++ b/Movement.py @@ -0,0 +1,108 @@ +import pygame +import sys + +pygame.init() + +WIDTH, HEIGHT = 400, 400 + +class Player(pygame.sprite.Sprite): + def __init__(self, pos_x, pos_y, x, y): + super().__init__() + #sprites + self.sprites = [] + self.in_animation = False + self.sprites.append(pygame.image.load("Sprites/Idle/Player_right.png")) + self.sprites.append(pygame.image.load("Sprites/Running/Player_run_right_1.png")) + self.sprites.append(pygame.image.load("Sprites/Running/Player_run_right_2.png")) + self.sprites.append(pygame.image.load("Sprites/Running/Player_run_right_3.png")) + self.sprites.append(pygame.image.load("Sprites/Running/Player_run_right_4.png")) + self.sprites.append(pygame.image.load("Sprites/Running/Player_run_right_5.png")) + self.sprites.append(pygame.image.load("Sprites/Running/Player_run_right_6.png")) + self.current_sprite = 0 + self.image = self.sprites[self.current_sprite] + + self.rect = self.image.get_rect() + self.rect.topleft = [pos_x,pos_y] + + #movement + self.rect = pygame.Rect(x, y, 32, 32) + self.x = int(x) + self.y = int(y) + self.velX = 0 + self.velY = 0 + self.left_pressed = False + self.right_pressed = False + self.down_pressed = False + self.up_pressed = False + self.speed = 3 + + def animate(self): + self.in_animation = True + + def update(self): + #animation + if self.in_animation: + self.current_sprite += 0.2 + + if self.current_sprite >= len(self.sprites): + self.current_sprite = 0 + self.in_animation = False + self.image = self.sprites[int(self.current_sprite)] + + #sprite + self.velX = 0 + self.velY = 0 + if self.left_pressed and not self.right_pressed: + self.velX = -self.speed + if self.right_pressed and not self.left_pressed: + self.velX = self.speed + if self.up_pressed and not self.down_pressed: + self.velY = -self.speed + if self.down_pressed and not self.up_pressed: + self.velY = self.speed + + self.x += self.velX + self.y += self.velY + self.rect = pygame.Rect(self.x, self.y, 32, 32) + +screen = pygame.display.set_mode((1920, 1015)) +pygame.display.set_caption("Game_name") + +clock = pygame.time.Clock() + +moving_sprites = pygame.sprite.Group() +player = Player(100, 100, WIDTH/2, HEIGHT/2) +moving_sprites.add(player) + +while True: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + pygame.quit() + sys.exit() + + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_a: + player.left_pressed = True + if event.key == pygame.K_d: + player.right_pressed = True + player.animate() + if event.key == pygame.K_w: + player.up_pressed = True + if event.key == pygame.K_s: + player.down_pressed = True + + if event.type == pygame.KEYUP: + if event.key == pygame.K_a: + player.left_pressed = False + if event.key == pygame.K_d: + player.right_pressed = False + if event.key == pygame.K_w: + player.up_pressed = False + if event.key == pygame.K_s: + player.down_pressed = False + + screen.fill((0, 255, 255)) + moving_sprites.draw(screen) + pygame.display.flip() + dt = clock.tick(60)/1000 + moving_sprites.update()