我正在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):
# [...]