在Pygame中检测碰撞的简便方法

时间:2018-05-09 23:35:24

标签: python python-2.7 pygame collision-detection

我一直试图弄清楚如何在pygame中发现碰撞我在网上查看了一些例子和帮助,但我找不到的工作或我无法理解。 我希望一个对象(Car)在对象(事物)与它碰撞时转到x和y位置这里是代码可以尝试制作工作版本或解释它

if pygame.sprite.collide_mask(car, thing):
                x = 300
                y = 250

顺便说一下,这是我的第三次尝试,但没有用。

1 个答案:

答案 0 :(得分:1)

您需要详细了解冲突的工作原理。将汽车的xy坐标与其他障碍物的xy坐标进行比较。说你的车宽30px,高20px。障碍物宽30px,高30px。

然后计算它们是否在x的单位(.5 *宽度)内或y的(.5 *高度)单位。您可以通过从另一个中减去一个并使用绝对值来完成此操作。如果来自car.x的绝对值 - 障碍物x< =(carwidth * .5)+障碍物宽度* .5)那么你就会发生碰撞。对于Y当然使用高度也一样。

我暂时没有碰撞,所以可能不是100%准确,但这是一般的想法。