diff --git a/src/scenes/game_scene.py b/src/scenes/game_scene.py index e3da865..c0f182d 100644 --- a/src/scenes/game_scene.py +++ b/src/scenes/game_scene.py @@ -1,9 +1,52 @@ import pygame -from src.config.color import Color + +from src.config.game_config import GameConfig from src.scenes.base_scene import BaseScene class GameScene(BaseScene): + def __init__(self, screen): + super().__init__(screen) + self.dirty_x = 400 + self.dirty_y = 300 + + self.Left_status = False + self.right_status = False + self.up_status = False + self.down_status = False + + # 颜色 + self.WHITE = (255, 255, 255) + self.RED = (255, 0, 0) + self.BLUE = (0, 0, 255) def update(self): - pygame.draw.rect(self.screen, Color.a, [10,20,30,40]) \ No newline at end of file + if self.Left_status and self.dirty_x >= 0: + self.dirty_x -= 1 + if self.right_status and self.dirty_x <= GameConfig.window_x - 20: + self.dirty_x += 1 + if self.up_status and self.dirty_y >= 0: + self.dirty_y -= 1 + if self.down_status and self.dirty_y <= GameConfig.window_y - 30: + self.dirty_y += 1 + dirty = pygame.draw.rect(self.screen, self.BLUE, [self.dirty_x, self.dirty_y, 20, 30]) + + def handle_event(self, event): + if event.type == pygame.KEYDOWN: + if event.key == pygame.K_LEFT or event.key == pygame.K_a: + self.Left_status = True + elif event.key == pygame.K_RIGHT or event.key == pygame.K_d: + self.right_status = True + elif event.key == pygame.K_UP or event.key == pygame.K_w: + self.up_status = True + elif event.key == pygame.K_DOWN or event.key == pygame.K_s: + self.down_status = True + elif event.type == pygame.KEYUP: + if event.key == pygame.K_LEFT or event.key == pygame.K_a: + self.Left_status = False + elif event.key == pygame.K_RIGHT or event.key == pygame.K_d: + self.right_status = False + elif event.key == pygame.K_UP or event.key == pygame.K_w: + self.up_status = False + elif event.key == pygame.K_DOWN or event.key == pygame.K_s: + self.down_status = False \ No newline at end of file