我无法找到一种方法来检测玩家是否在Pygame中点击了一个矩形。我试过了
self.mouserect=(pygame.mouse.get_pos(), 8,8)
然后再
if self.click: #(this is true if mouse button is down)
if self.mouserect.colliderect(self.a_thing_to_click_on.rect):
do_stuff
但是这给了我一个AttributeError:'tuple'对象没有属性'colliderect'。我做错了什么?
答案 0 :(得分:1)
您是否尝试使用rect.collidepoint()
?
if self.click: #(this is true if mouse button is down)
if self.a_thing_to_click_on.rect.collidepoint(pygame.mouse.get_pos()):
答案 1 :(得分:0)
您要将一个元组分配给self.mouserect
,而不是Rect。解决方案是围绕它包裹Rect
:
self.mouserect=pygame.Rect(pygame.mouse.get_pos(), (8,8))