如何在 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 等,那么它们都应该具有完全相同的方法 - draw
、update
等,而不是 draw_player
、draw_enemy
、update_player
、update_enemy
- 然后你就不用了不必检查类来决定是否必须使用draw_player
或draw_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 中检查变量是不是包含矩形? [复制]的主要内容,如果未能解决你的问题,请参考以下文章