这些是随机放置的砖块,沿着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%;
答案 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
代替两个循环。