我正在使用python在pygame中制作一个吃豆人风格的游戏,我正在尝试制作它,以便当player与敌方精灵(monster)碰撞时,得分会降低1。怪物和玩家的代码是下面以及我尝试减去分数的代码。任何帮助,将不胜感激。如果有帮助,我可以发布整个游戏代码。

下面是我尝试减少与怪物碰撞时玩家的生命的代码。

for monster in group:
    if player.rect.colliderect(monster.rect):
        player.lives -= 1

最佳答案

我怀疑问题在于您仅在开始时创建了livestext。每次在屏幕上打印时,都应重新创建一次。
您似乎在比赛结束后立即绘制文本(为什么?)。因此,将livestext=...行移到blit之前。生活可能正在做您想要的事情,但也许您看不到它?

另外,我建议将lives设置为实例成员:

self.lives=5中执行__init__

并在每次发生时使用self.lives而不是lives

关于python - 当与敌人不起作用pygame碰撞时减负生命,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27829900/

10-12 22:42