我正在使用 python 在 pygame 中制作一个 pacman 风格的游戏,我正在尝试制作它以便当 player
与敌人 Sprite (monster
)碰撞时得分减 1。下面是怪物和玩家的代码,还有我试图减去分数的代码。任何帮助,将不胜感激。如果这有帮助,我可以发布整个游戏代码。
我试图在与怪物碰撞时减去玩家生命的代码如下。
for monster in group:
if player.rect.colliderect(monster.rect):
player.lives -= 1
最佳答案
我怀疑问题是您只在开头创建了 livetext
。每次在屏幕上打印时都应该重新创建。
您似乎是在游戏结束后才绘制文本(那是为什么?)。因此,将 livestext=...
行移动到 blit
之前。生活或许正为你所愿,只是你看不到?
此外,我建议让 lives
成为实例成员:
在 __init__
中执行 self.lives=5
并在每次发生时使用 self.lives
而不是 lives
。
关于python - 与敌人碰撞时减去生命不工作pygame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27829900/