单向场景切换版本 #1

Merged
chicrobot merged 12 commits from feature-chicrobot into develop 2026-07-27 22:26:35 +08:00
2 changed files with 7 additions and 8 deletions
Showing only changes of commit 5ca95505f2 - Show all commits

No files matched your search

+3 -3
View File
@@ -18,7 +18,7 @@ class MainMenuScene(BaseScene):
self.font = pygame.font.Font(font_file,16) 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): def update(self):
# 按键按下则切换场景 # 按键按下则切换场景
@@ -40,8 +40,8 @@ class MainMenuScene(BaseScene):
def handle_event(self, event): def handle_event(self, event):
if event.type == pygame.KEYDOWN: if event.type == pygame.KEYDOWN:
self.button_status = True self.button_status = True
if event.type == pygame.MOUSEBUTTONDOWN: elif event.type == pygame.MOUSEBUTTONDOWN:
self.button_status = True return "exit" # 主循环接收返回,为exit时设置running为False,退出游戏
def __show(self, info, dest=(0, 0)): def __show(self, info, dest=(0, 0)):
if not self.debug_status: if not self.debug_status:
+4 -5
View File
@@ -11,10 +11,7 @@ class Game:
# 设置窗口大小 # 设置窗口大小
size = (GameConfig.window_x, GameConfig.window_y) size = (GameConfig.window_x, GameConfig.window_y)
self.screen = pygame.display.set_mode(size) self.screen = pygame.display.set_mode(size, pygame.NOFRAME)
# 设置标题
pygame.display.set_caption(GameConfig.game_name)
# 当前场景 # 当前场景
self.scene = MainMenuScene(self.screen) self.scene = MainMenuScene(self.screen)
@@ -29,7 +26,9 @@ class Game:
for event in pygame.event.get(): # 这里已经获取了事件,事件队列被清空,在场景的update中再次获取将没有事件 for event in pygame.event.get(): # 这里已经获取了事件,事件队列被清空,在场景的update中再次获取将没有事件
if event.type == pygame.QUIT: if event.type == pygame.QUIT:
self.running = False 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: if self.scene.next_scene is not None: