我需要将图像制作为 Rect 的最简单方法,是否有此功能,或者我是否需要从一开始就将其制作为 Rect?我有一个脚本是玩家四处移动,但我希望角色的图像是一个矩形,所以我可以用它做更多的事情。
问问题
728 次
1 回答
0
我希望角色的图像是一个矩形并没有多大意义,但您可能正在寻找该类的get_rect
方法Surface
:
get_rect()
获取 Surface 的矩形区域
get_rect(**kwargs) -> Rect
返回一个覆盖整个 Surface 的新矩形。这个矩形总是从 0 开始,宽度为 0。和高度与图像大小相同...
(我猜对于常规图像,您的意思是 a Surface
,因为 aSurface
是 pygame 表示图像的方式)
请注意,Rect
此函数返回的值始终从0
,开始0
。如果您已经以某种方式跟踪对象的位置(例如 ax
和y
变量),您可以
删除这些变量并仅使用 a
Rect
来跟踪对象的位置。如果您移动对象,而不是更改x
andy
变量(例如x += mx
/y += my
),您只需更新Rect
(例如pos.move_ip(mx, my)
哪里pos
是Rect
)。Rect
每当您需要时创建一个新的Rect
,并确保它指向正确的位置,使用命名参数(例如your_surface.get_rect(x=x, y=y)
)使用 a
Sprite
,它基本上是 aSurface
和 a的组合Rect
。
于 2013-09-17T08:18:39.337 回答