Verikale Spielerbewegung implementiert
This commit is contained in:
parent
4d0d09b5ae
commit
b56bde75ef
2 changed files with 15 additions and 70 deletions
42
game.py
42
game.py
|
|
@ -24,17 +24,15 @@ class Game:
|
|||
|
||||
self.running: bool = True
|
||||
|
||||
self.dt: int = 0
|
||||
|
||||
|
||||
self.player_pos = pygame.Vector2(self.display.get_width() / 2, self.display.get_height() / 2)
|
||||
|
||||
def run(self) -> None:
|
||||
while self.running:
|
||||
# Background
|
||||
self.display.fill((0, 0, 0, 0))
|
||||
|
||||
|
||||
|
||||
pygame.draw.rect(self.display, (255, 0, 0), pygame.Rect(150, 110, 20, 20))
|
||||
|
||||
for event in pygame.event.get():
|
||||
if event.type == pygame.QUIT:
|
||||
self.running = False
|
||||
|
|
@ -43,18 +41,17 @@ class Game:
|
|||
if event.key == pygame.K_ESCAPE:
|
||||
self.running = False
|
||||
|
||||
pygame.draw.rect(self.display, (255, 0, 0), pygame.Rect(self.player_pos[0], self.player_pos[1], 20, 20))
|
||||
|
||||
if event.key == pygame.K_a:
|
||||
self.movement[0] = True
|
||||
|
||||
if event.key == pygame.K_d:
|
||||
self.movement[1] = True
|
||||
|
||||
if event.key == pygame.K_w:
|
||||
self.movement[2] = True
|
||||
|
||||
if event.key == pygame.K_s:
|
||||
self.movement[3] = True
|
||||
keys = pygame.key.get_pressed()
|
||||
if keys[pygame.K_w]:
|
||||
self.player_pos.y -= 300 * self.dt
|
||||
if keys[pygame.K_s]:
|
||||
self.player_pos.y += 300 * self.dt
|
||||
if keys[pygame.K_a]:
|
||||
self.player_pos.x -= 300 * self.dt
|
||||
if keys[pygame.K_d]:
|
||||
self.player_pos.x += 300 * self.dt
|
||||
|
||||
|
||||
self.screen.blit(
|
||||
|
|
@ -62,19 +59,8 @@ class Game:
|
|||
)
|
||||
|
||||
pygame.display.update()
|
||||
self.clock.tick(60)
|
||||
self.dt = self.clock.tick(60) / 3000
|
||||
|
||||
|
||||
class Player:
|
||||
def __init__(self, player_x, player_y):
|
||||
self.player_x = player_x
|
||||
self.player_y = player_y
|
||||
|
||||
def update(self, movement: tuple[float, float] = (0, 0)):
|
||||
pass
|
||||
|
||||
def render(self):
|
||||
pass
|
||||
|
||||
game = Game()
|
||||
game.run()
|
||||
41
test.py
41
test.py
|
|
@ -1,41 +0,0 @@
|
|||
import pygame
|
||||
|
||||
SCREEN_WIDTH = 640
|
||||
SCREEN_HEIGHT = 480
|
||||
|
||||
|
||||
class Game:
|
||||
def __init__(self):
|
||||
pygame.init()
|
||||
|
||||
pygame.display.set_caption("School Game")
|
||||
|
||||
self.clock = pygame.Clock()
|
||||
self.screen: pygame.Surface = pygame.display.set_mode(
|
||||
(SCREEN_WIDTH, SCREEN_HEIGHT)
|
||||
)
|
||||
|
||||
self.display: pygame.Surface = pygame.Surface(
|
||||
(self.screen.get_width() // 2, self.screen.get_height() // 2)
|
||||
)
|
||||
|
||||
self.running: bool = True
|
||||
|
||||
def run(self) -> None:
|
||||
while self.running:
|
||||
self.display.fill((0, 0, 0, 0))
|
||||
|
||||
for event in pygame.event.get():
|
||||
if event.type == pygame.QUIT:
|
||||
self.running = False
|
||||
|
||||
self.screen.blit(
|
||||
pygame.transform.scale(self.display, self.screen.get_size())
|
||||
)
|
||||
|
||||
pygame.display.update()
|
||||
self.clock.tick(60)
|
||||
|
||||
|
||||
game = Game()
|
||||
game.run()
|
||||
Loading…
Reference in a new issue