我正在做一个简单的 pygame 项目,它目前有从屏幕顶部落到屏幕底部的坠落炸弹。如果玩家击中炸弹,他们就会死亡。到目前为止,一切都很好。问题是当炸弹经过玩家但还没有离开屏幕时,它仍然会杀死玩家。意思是,炸弹会穿过玩家的下部,但如果你穿过,在它穿过屏幕下部之前,你会死。他是我的代码:
if player.rect.y < thing_starty + thing_height:
if player.rect.x > thing_startx and player.rect.x < thing_startx + thing_width or player.rect.x + 28 > thing_startx and player.rect.x + 28 < thing_startx + thing_width:
gameOver = True
值如下:
thing_startx = random.randrange(0, S_WIDTH)
thing_starty = -300
thing_speed = 3
thing_width = 128
thing_height = 128
player.rect.x 的值范围从 120 到 500,具体取决于玩家在屏幕上的位置。(屏幕也会随着您的移动从左向右滚动。) 28 来自字符图像的宽度。
坠落物体的代码如下:
if thing_starty > S_HEIGHT:
pygame.mixer.Sound.play(bomb_sound)
thing_starty = 0 - thing_height
thing_startx = random.randrange(0, S_WIDTH)
dodged += 1
thing_speed += .5
我已经为此工作了大约一个星期,但没有取得任何进展。感谢您的任何帮助。