如何知道我的矩形与 pygame 中的其他矩形碰撞了多少次?

How to know how many times my rectangle has collided with other rectangles in pygame?

有一个游戏是长方形掉下来的,我们要避开它们,如果我们碰撞一次速度减1,第二次速度减2,依此类推

如何知道我们撞了多少次

您可以创建一个变量,每次碰撞时都会将其添加到其中,而另一个变量在碰撞后设置为 true,然后您可以将其设置为 false 并将矩形发送到其他地方。

您将创建一个变量来计算碰撞次数,您还需要一个函数来检测是否发生了碰撞。这是一个示例,其中有一个变量“collisions”,碰撞检测是在函数 touching_rect().

中计算的
collision = 0
if touching_rect():
    colision += 1
    speed -= collision

在这种情况下,可变速度将跟踪矩形移动的速度。一旦发生碰撞,速度将减一。下次发生碰撞时,速度将降低 2,依此类推。

请注意,在速度降低后,必须将矩形移动到其他地方,这样您就不会连续减慢速度。这可能在您创建的另一个函数中,例如 reset_rectangle()

collision = 0
if touching_rect(): 
    colision += 1
    speed -= collision
    reset_rectangle()