diff --git a/src/scenes/main_menu_scene.py b/src/scenes/main_menu_scene.py index 7b2a281..bddbd0f 100644 --- a/src/scenes/main_menu_scene.py +++ b/src/scenes/main_menu_scene.py @@ -18,7 +18,7 @@ class MainMenuScene(BaseScene): self.font = pygame.font.Font(font_file,16) # 文本 - self.game_info_text = self.font.render('按任意键开始游戏', True, Color.white) + self.game_info_text = self.font.render('按任意键开始游戏,鼠标点击退出', True, Color.white) def update(self): # 按键按下则切换场景 @@ -40,8 +40,8 @@ class MainMenuScene(BaseScene): def handle_event(self, event): if event.type == pygame.KEYDOWN: self.button_status = True - if event.type == pygame.MOUSEBUTTONDOWN: - self.button_status = True + elif event.type == pygame.MOUSEBUTTONDOWN: + return "exit" # 主循环接收返回,为exit时设置running为False,退出游戏 def __show(self, info, dest=(0, 0)): if not self.debug_status: diff --git a/start.py b/start.py index ec68a56..4be0dd9 100644 --- a/start.py +++ b/start.py @@ -11,10 +11,7 @@ class Game: # 设置窗口大小 size = (GameConfig.window_x, GameConfig.window_y) - self.screen = pygame.display.set_mode(size) - - # 设置标题 - pygame.display.set_caption(GameConfig.game_name) + self.screen = pygame.display.set_mode(size, pygame.NOFRAME) # 当前场景 self.scene = MainMenuScene(self.screen) @@ -29,7 +26,9 @@ class Game: for event in pygame.event.get(): # 这里已经获取了事件,事件队列被清空,在场景的update中再次获取将没有事件 if event.type == pygame.QUIT: self.running = False - self.scene.handle_event(event) # 当前场景接收事件 + result = self.scene.handle_event(event) # 当前场景接收事件 + if result == "exit": + self.running = False # 检查是否切换场景 if self.scene.next_scene is not None: