我需要最简单的方法来使图像成为一个Rect,是否有一个函数或者我是否需要从一开始就使它成为一个Rect?我有一个脚本是玩家四处走动,但我希望角色的图像是一个Rect,所以我可以用它做更多。
答案 0 :(得分:0)
我希望角色的形象是一个矩形没有多大意义,但你可能正在寻找get_rect
的Surface
方法} class:
<强> get_rect()强>
获取Surface 的矩形区域get_rect(**kwargs) -> Rect
返回覆盖整个曲面的新矩形。此矩形始终从0开始,宽度为0。和高度与图像相同......
(我猜常规图片你的意思是Surface
,因为Surface
是pygame代表图片的方式)
请注意,此函数返回的Rect
始终以0
,0
开头。如果您已经以某种方式跟踪对象的位置(例如x
和y
变量),您可以
删除这些变量,只使用Rect
来跟踪对象的位置。如果您移动对象,而不是更改x
和y
变量(例如x += mx
/ y += my
),则只需更新Rect
(例如{ {1}}其中pos.move_ip(mx, my)
是pos
)。
每当您需要Rect
时创建一个新Rect
,并确保使用命名参数指向正确的位置(例如Rect
)
使用Sprite
,它基本上是your_surface.get_rect(x=x, y=y)
和Surface
的组合。