rect.center 会改变 rect 属性吗?

发布于 2024-10-14 16:29:17 字数 461 浏览 5 评论 0原文

您好,

我在 pygame 中从事的项目似乎遇到了一些麻烦。 对于我使用的一个对象:

image.get_rect()

并将其分配给:

self.rect

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

self.rect.center = (320,240)

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

self.rect.colliderect(other_rect)

我收到错误:“tuple”对象没有赋值“colliderect”。

发生这种情况是因为 self.rect.center 赋值改变了 self.rect 的属性吗?

Greetings,

It seems I am having a bit of trouble with a project I'm working on in pygame.
For one of my objects i used:

image.get_rect()

and assigned it to:

self.rect

I understand the default coordinates for the get_rect function gives a value of (0,0).
As a result, I used:

self.rect.center = (320,240)

To roughly place the sprite in the middle of the screen. However, later on in a hitTest function, I want to call:

self.rect.colliderect(other_rect)

I get an error: 'tuple' object has no assignment 'colliderect'.

Does this happen because the self.rect.center assignment change the properties of self.rect?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-10-21 16:29:21

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

我假设 Colliderect 正在尝试修改一个元组。

使用列表代替该元组。

The tuple type is immutable. That is, once set, you cannot change it.

I assume that colliderect is trying to modify a tuple.

Use a list in place of that tuple.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文