【问题标题】: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
  • 哦,我有我的功能。我有一个用于居中的可选参数,如果传递了一个矩形,我希望它自动居中。

标签: python variables pygame rect


【解决方案1】:

使用isinstance(object, classinfo):

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2018-12-14
    相关资源
    最近更新 更多