forked from zhiyuan/Project1
修复每帧时间在场景中更新造成的雨滴状态没有随机分布的问题
This commit is contained in:
1 parent
b864a5e82e
commit
75a8525985
5 files changed
+19
-20
No files matched your search
@@ -19,7 +19,7 @@ class Game:
|
||||
# 场景字典
|
||||
self.game_scenes = scene_dict
|
||||
# 当前场景
|
||||
self.scene = self.game_scenes["MainMenuScene"](self.screen, self.clock)
|
||||
self.scene = self.game_scenes["MainMenuScene"](self.screen)
|
||||
|
||||
# 运行循环
|
||||
self.running = True
|
||||
@@ -27,6 +27,8 @@ class Game:
|
||||
|
||||
def run(self):
|
||||
while self.running:
|
||||
# 更新每帧时间
|
||||
dt = self.clock.tick()
|
||||
# 事件处理
|
||||
for event in pygame.event.get(): # 这里已经获取了事件,事件队列被清空,在场景的update中再次获取将没有事件
|
||||
if event.type == pygame.QUIT:
|
||||
@@ -37,13 +39,13 @@ class Game:
|
||||
if self.scene.next_scene is not None:
|
||||
if self.scene.next_scene in self.game_scenes.keys():
|
||||
scene_class = self.game_scenes[self.scene.next_scene]
|
||||
self.scene = scene_class(self.screen, self.clock)
|
||||
self.scene = scene_class(self.screen)
|
||||
|
||||
# 清屏
|
||||
self.screen.fill(GameConfig.bg_color)
|
||||
|
||||
# 场景每帧更新逻辑运行
|
||||
self.scene.update()
|
||||
self.scene.update(dt)
|
||||
# 当场景的下一场景为exit时退出游戏
|
||||
if self.scene.next_scene == "exit":
|
||||
self.running = False
|
||||
@@ -52,4 +54,4 @@ class Game:
|
||||
pygame.display.update()
|
||||
|
||||
if __name__ == "__main__":
|
||||
Game()
|
||||
Game()
|
||||
Reference in new issue
Block a user