Pygame - 如何实现可以相互冲突的块?

时间:2017-11-27 12:08:21

标签: python pygame

这些是随机放置的砖块,沿着x轴移动,从墙到墙左右移动。我想让所有砖块都与自己碰撞,例如,如果其中一块碰到另一块砖,-speed必须是brick = [] for in range(50): block = Brick() brick.append(block)

if block.rect.colliderect(block.rect.colliderect):
    block.speed *= -1

我的代码如下:

border-radius: 50%;

1 个答案:

答案 0 :(得分:1)

您必须添加另一个嵌套循环,以便将每个块的colliderect与所有其他块一起使用。您还需要检查两个块实例是否不是同一个对象block is not other_block

for block in brick:
    for other_block in brick:
        if block is not other_block and block.rect.colliderect(other_block.rect):
            block.speed *= -1

您也可以使用itertools.product代替两个循环。