Files
ReProject1/start.py
T
2026-07-26 02:39:05 +08:00

48 lines
1.3 KiB
Python

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()