Pygame中检测窗口边缘碰撞的简单方法



我正在pygame中制作一个非滚动平台,我想知道是否有一种简单的方法可以检测与窗口边缘的碰撞,而无需在屏幕外创建四个矩形。有人知道有没有?谢谢

如果要测试Rects的冲突,可以使用

if (Rect.left < 0 or Rect.right > (window width) or 
Rect.top < 0 or Rect.bottom > (window height)):
collision = True # do whatever collision code you need here

如果你需要一种方法来获得屏幕大小,你可以使用

width, height = pygame.display.get_surface().get_size()

然后使用CCD_ 1和CCD_。

您可以使用pygame.Rect.contains来测试一个矩形是否完全在另一个矩形内:

window_rect = screen.get_rect()
if not window_rect.contains(object_rec):
# [...]

使用pygame.Rect.colliderect测试一个矩形是否完全在另一个矩形之外:

window_rect = screen.get_rect()
if not window_rect.colliderect(object_rec):
# [...]

最新更新