【发布时间】:2013-09-17 07:56:42
【问题描述】:
我需要将图像制作为 Rect 的最简单方法,是否有此功能,或者我需要从一开始就将其制作为 Rect?我有一个脚本让玩家四处走动,但我希望角色的图像是一个矩形,所以我可以用它做更多的事情。
【问题讨论】:
标签: python python-2.7 pygame rect
我需要将图像制作为 Rect 的最简单方法,是否有此功能,或者我需要从一开始就将其制作为 Rect?我有一个脚本让玩家四处走动,但我希望角色的图像是一个矩形,所以我可以用它做更多的事情。
【问题讨论】:
标签: python python-2.7 pygame rect
我希望角色的图像是一个矩形 没有多大意义,但您可能正在寻找 Surface 类的 get_rect 方法:
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(例如pos.move_ip(mx, my),其中pos是@987654342 @)。
在您需要Rect 时创建一个新的Rect,并确保它指向正确的位置,使用命名参数(例如your_surface.get_rect(x=x, y=y))
使用Sprite,它基本上是Surface 和Rect 的组合。
【讨论】: