如何在 Pygame 中检查变量是不是包含矩形? [复制]

Posted

技术标签:

【中文标题】如何在 Pygame 中检查变量是不是包含矩形? [复制]【英文标题】:How to check if a variable contains a rect in Pygame? [duplicate]如何在 Pygame 中检查变量是否包含矩形? [复制] 【发布时间】:2021-04-09 18:31:22 【问题描述】:

所以如果我像这样将一个矩形添加到一个变量中

box = pygame.Rect(x, y, w, h)

如何检查变量 rect 是否包含pygame.Rect?理想情况下,它会返回与此类似的内容

int = 9

#int is not a rect
#box is a rect

【问题讨论】:

我想知道你什么时候需要它。如果您创建变量来保留Rect,那么它应该始终保留Rect - 不要弄乱它。如果你想在列表中保留不同的对象 - 即。 Player、Enemy 等,那么它们都应该具有完全相同的方法 - drawupdate 等,而不是 draw_playerdraw_enemyupdate_playerupdate_enemy - 然后你就不用了不必检查类来决定是否必须使用draw_playerdraw_enemy - 你总是必须使用draw 哦,我有我的功能。我有一个用于居中的可选参数,如果传递了一个矩形,我希望它自动居中。 【参考方案1】:

使用isinstance(object, classinfo):

如果 object 参数是 classinfo 参数的实例,则返回 True [...]

if isinstance(box, pygame.Rect):
    print('is a rect')
else:
    print('is not a rect')

【讨论】:

以上是关于如何在 Pygame 中检查变量是不是包含矩形? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

pygame写贪吃蛇

在pygame中旋转一个矩形(不是图像)

如何保存在pygame中代替矩形的所有像素?

Android:如何检查矩形是不是包含触摸点?

用pygame绘图后如何配置矩形?

Pygame和PyQt4如何集成?