forked from zhiyuan/Project1
修改退出判断方式:下一场景名称为“game_exit”时退出游戏
This commit is contained in:
1 parent
1ff35871dc
commit
887bef6035
2 files changed
+10
-3
No files matched your search
@@ -26,3 +26,9 @@ class BaseScene:
|
|||||||
切换场景
|
切换场景
|
||||||
"""
|
"""
|
||||||
self.next_scene = scene_name
|
self.next_scene = scene_name
|
||||||
|
|
||||||
|
def exit(self):
|
||||||
|
"""
|
||||||
|
退出游戏
|
||||||
|
"""
|
||||||
|
self.next_scene = "game_exit"
|
||||||
@@ -32,9 +32,7 @@ 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
|
||||||
result = self.scene.handle_event(event) # 当前场景接收事件
|
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:
|
||||||
@@ -47,6 +45,9 @@ class Game:
|
|||||||
|
|
||||||
# 场景每帧更新逻辑运行
|
# 场景每帧更新逻辑运行
|
||||||
self.scene.update()
|
self.scene.update()
|
||||||
|
# 当场景的下一场景为game_exit时退出游戏
|
||||||
|
if self.scene.next_scene == "game_exit":
|
||||||
|
self.running = False
|
||||||
|
|
||||||
# 更新显示
|
# 更新显示
|
||||||
pygame.display.update()
|
pygame.display.update()
|
||||||
|
|||||||
Reference in new issue
Block a user