我正在创建一个游戏,其中使用以下代码在pygame中每800毫秒发生一次事件:
spawn_event = pg.USEREVENT + 1
pg.time.set_timer(spawn_event, 800)
for event in pg.event.get():
if event.type == spawn_event and wave == True:
spawn_enemy = True #if 800ms has passed, set spawn enemy variable to true which will spawn an enemy
这背后的想法是在波浪进行过程中每800毫秒产生一个敌人精灵。
然而,当游戏暂停时会出现问题。在主游戏逻辑的同一个while循环中,如果游戏暂停,则会有一个单独的较小的while循环。
当我在波浪中间暂停后恢复游戏时,时间似乎发生变化,敌人被释放的时间比应该的时间晚,好像时间被重置或改变一样。
我如何防止这种情况,以便时间保持不变?我是否需要改变游戏暂停的方式?