与敌人碰撞时减去生命不工作pygame
minus lives when collide with enemy not working pygame
我正在 pygame 中使用 python 制作吃豆人风格的游戏,并且我正在尝试制作它以便当 player
与敌方精灵碰撞时(monster
) 分数减 1。下面是怪物和玩家的代码,还有我试图减去分数的代码。任何帮助,将不胜感激。如果这有帮助,我可以 post 整个游戏代码。
我试图在与怪物碰撞时减去玩家生命的代码如下。
for monster in group:
if player.rect.colliderect(monster.rect):
player.lives -= 1
我怀疑问题是您只在开头创建 livestext
。每次在屏幕上打印时都应该重新创建。
您似乎是在游戏结束后才绘制文本(那是为什么?)。所以将 livestext=...
行移动到 blit
之前。生活或许正如你所愿,只是你看不到?
此外,我建议让 lives
成为实例成员:
在 __init__
中做 self.lives=5
并在每次出现时使用 self.lives
而不是 lives
。
我正在 pygame 中使用 python 制作吃豆人风格的游戏,并且我正在尝试制作它以便当 player
与敌方精灵碰撞时(monster
) 分数减 1。下面是怪物和玩家的代码,还有我试图减去分数的代码。任何帮助,将不胜感激。如果这有帮助,我可以 post 整个游戏代码。
我试图在与怪物碰撞时减去玩家生命的代码如下。
for monster in group:
if player.rect.colliderect(monster.rect):
player.lives -= 1
我怀疑问题是您只在开头创建 livestext
。每次在屏幕上打印时都应该重新创建。
您似乎是在游戏结束后才绘制文本(那是为什么?)。所以将 livestext=...
行移动到 blit
之前。生活或许正如你所愿,只是你看不到?
此外,我建议让 lives
成为实例成员:
在 __init__
self.lives=5
并在每次出现时使用 self.lives
而不是 lives
。