Pygame碰撞检测`colliderect()`

时间:2020-05-04 06:17:45

标签: python pygame

在经历docs of pygame时,有一种叫做colliderect()的pygame方法,用于测试两个rect对象是否重叠。

colliderect()测试两个矩形是否重叠

colliderect(Rect)-> bool

如果任一矩形的任何部分重叠(顶部,底部或左,右边缘除外),则返回true。

在最后一行中,它说,除了顶部+底部或左侧+右侧

这句话是什么意思?

1 个答案:

答案 0 :(得分:1)

这意味着矩形[ PASS ]r1

r2

没有碰撞。即使r1 = pygame.Rect(0, 0, 10, 10) r2 = pygame.Rect(10, 0, 10, 10) 等于r1.colliderect(r2)False也会返回r1.left + r1.width

这是因为r2.right覆盖了从0到9(含)的(x)区域,而r1覆盖了从10到19(含)的(x)区域。