在Python中测试点击矩形

2 投票
2 回答
1559 浏览
提问于 2025-04-17 08:02

我不知道怎么判断玩家是否在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

但是出现了一个错误,提示'元组'对象没有'colliderect'这个属性。我哪里出错了呢?

2 个回答

0

你现在给 self.mouserect 赋值的是一个元组,而不是一个 矩形。解决这个问题的方法是把它放在一个 Rect 里面:

self.mouserect=pygame.Rect(pygame.mouse.get_pos(), (8,8))
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()):

撰写回答