PYGAME当物体不再与墙壁碰撞时检测

时间:2015-10-03 20:39:09

标签: python pygame collision-detection physics collision

我制作的平台游戏主要是基于重建第一个超级马里奥兄弟。

现在我需要知道玩家(物体)何时停止与墙壁(物体)碰撞。 我知道它何时碰撞,例如当player.rect.bottom == wall.rect.top然后Floor state = 1.如果玩家不再碰撞,我怎么能让Floor state = 0(这会让他掉下来)。

我已经尝试过使用:

if player.rect.bottomleft  == wall.rect.topright or player.rect.bottomright == wall.rect.topleft:
        Floor = 1

如果玩家在角落里,这会让玩家失望。但是如果玩家有加速度,它就不会通过这一点,地板仍然是Floor = 1并且玩家不会摔倒,他将漂浮或飞行。感谢

反正知道何时停止碰撞,这会让我改变楼层的价值?

1 个答案:

答案 0 :(得分:0)

你需要重置每一帧的地板,但一定要在你移动你的角色之前做到这一点,这样他就不会开始做一些奇怪的事情,比如摔倒在地上并且出现故障。