我正在尝试在我的游戏中实现碰撞,但我不知道如何获取我的图像的rect属性。玩家可以选择图像产生的位置(他放置它们),因此我无法设置确切的数字等。
答案 0 :(得分:3)
pygame.Surface
对象有一个方法get_rect
,它返回一个包含pygame.Rect
的{{1}}实例。请注意,Surface
的位置(x
和y
属性)从(0,0)开始,但您可以更改此值,并在您向另一个表面进行blit时引用它。 / p>
因此,如果您有一个名为Rect
的{{1}},以及一个名为pygame.Surface
的屏幕表面,您可以执行以下操作:
surf
http://www.pygame.org/docs/ref/surface.html#pygame.Surface.get_rect
此外,screen
还有surf_rect = surf.get_rect()
# move the surface 20 units to the right, and 15 units down
surf_rect.x += 20
surf_rect.y += 15
# now draw this surface to the screen based on the surf_rect's position
screen.blit(surf, (surf_rect.x, surf_rect.y))
和pygame.Surface
方法,这些方法非常明显。