【问题标题】:Does rect.center change rect properties?rect.center 会改变 rect 属性吗?
【发布时间】:2011-01-28 02:27:15
【问题描述】:

您好,

我在 pygame 中进行的项目似乎有点麻烦。 对于我使用的一个对象:

image.get_rect()

并将其分配给:

self.rect

我了解 get_rect 函数的默认坐标值是 (0,0)。 结果,我使用了:

self.rect.center = (320,240)

将精灵大致放置在屏幕中间。但是,稍后在 hitTest 函数中,我想调用:

self.rect.colliderect(other_rect)

我收到一个错误:“元组”对象没有分配“colliderect”。

这是因为 self.rect.center 赋值改变了 self.rect 的属性吗?

【问题讨论】:

    标签: python pygame hittest


    【解决方案1】:

    元组类型是不可变的。也就是说,一旦设置,就无法更改。

    我假设 colliderect 正在尝试修改元组。

    使用列表代替该元组。

    【讨论】:

    • 我明白你在说什么。我实际上找到了它不让我执行碰撞点模块的原因。在脚本的早些时候,我已经将 self.rect = 一个元组,这就是为什么它给我带来了错误,因为它为 self.rect 分配了另一个值(它不再是(rect)了)。无论如何, self.rect.center 调用不会影响 rect 对象的状态。这是一个完全不同的原因,它给了我这个错误。感谢您的帮助,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2020-01-20
    • 2012-11-09
    • 2018-07-13
    相关资源
    最近更新 更多