在 pygame 中制作游戏

问题描述

你好,我正在 pygame 上为大学制作一个典型的后卫街机游戏。我目前的目标是让游戏暂停并在玩家失去生命时显示一条消息,并在按下某个键时继续下一个生命。这是hp和live的代码

hit = pygame.sprite.spritecollide(shuttle,sprites,True)
if hit:
   shuttle.damage += 10 #increase damage
   tesla_sprite1 = aliens.Alien(screen,ai_settings,random.randrange(800,ai_settings.screen_width),random.randrange(0,ai_settings.screen_height))
   sprites.add(tesla_sprite1)

if shuttle.damage == 100:
       shuttle.damage = 0
       you_crashed = "You have crashed!"
       you_crashed_label = crash_font.render(f"{you_crashed}",1,(255,0))
       screen.blit(you_crashed_label,(ai_settings.screen_width - 800,ai_settings.screen_height / 2))

Shuttle 是一个类的实例,伤害是 hp,精灵是包含敌人的精灵组。 ai_settings 是一个不同的模块,我从中借用了变量。有什么建议吗?

解决方法

要创建弹出菜单并停止游戏,您必须实现按钮并将内部 while 循环嵌入到主循环中。您可以在该循环中绘制按钮并检测鼠标输入。当按钮被按下时,只需更改游戏状态并中断内部循环。