import pygame from src.config.game_config import GameConfig from src.scenes.main_menu_scene import MainMenuScene class Game: def __init__(self): # 初始化 pygame.init() # 设置窗口大小 size = (GameConfig.window_x, GameConfig.window_y) self.screen = pygame.display.set_mode(size) # 设置标题 pygame.display.set_caption(GameConfig.game_name) # 当前场景 self.scene = MainMenuScene(self.screen) # 运行循环 self.running = True self.run() def run(self): while self.running: # 事件处理 for event in pygame.event.get(): # 这里已经获取了事件,事件队列被清空,在场景的update中再次获取将没有事件 if event.type == pygame.QUIT: self.running = False self.scene.handle_event(event) # 当前场景接收事件 # 检查是否切换场景 if self.scene.next_scene is not None: self.scene = self.scene.next_scene # 清屏 self.screen.fill(GameConfig.bg_color) # 场景每帧更新逻辑运行 self.scene.update() # 更新显示 pygame.display.update() if __name__ == "__main__": Game()