【问题标题】:How to change a regular image to a Rect in pygame [duplicate]如何在pygame中将常规图像更改为矩形[重复]
【发布时间】:2013-09-17 07:56:42
【问题描述】:

我需要将图像制作为 Rect 的最简单方法,是否有此功能,或者我需要从一开始就将其制作为 Rect?我有一个脚本让玩家四处走动,但我希望角色的图像是一个矩形,所以我可以用它做更多的事情。

【问题讨论】:

    标签: python python-2.7 pygame rect


    【解决方案1】:

    我希望角色的图像是一个矩形 没有多大意义,但您可能正在寻找 Surface 类的 get_rect 方法:

    get_rect()
    获取 Surface 的矩形区域
    get_rect(**kwargs) -> Rect
    返回一个覆盖整个表面的新矩形。这个矩形总是从 0 开始,宽度为 0。和高度和图片一样大...

    (我猜普通图片是指Surface,因为Surface是pygame表示图片的方式)

    请注意,此函数返回的Rect 始终以00 开头。如果您已经以某种方式跟踪了对象的位置(例如xy 变量),您可以

    • 删除这些变量,只使用Rect 来跟踪对象的位置。如果你移动你的对象,而不是改变xy变量(例如x += mx/y += my),你只需更新Rect(例如pos.move_ip(mx, my),其中pos是@987654342 @)。

    • 在您需要Rect 时创建一个新的Rect,并确保它指向正确的位置,使用命名参数(例如your_surface.get_rect(x=x, y=y)

    • 使用Sprite,它基本上是SurfaceRect 的组合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多