тест для нажатия на прямоугольник в Python - PullRequest
2 голосов
/ 09 декабря 2011

Я не могу найти способ определить, щелкнул ли игрок внутри прямоугольника в 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'.Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Вы пытались использовать 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()):
0 голосов
/ 09 декабря 2011

Вы присваиваете кортеж self.mouserect, а не Rect .Решение состоит в том, чтобы обернуть Rect вокруг него:

self.mouserect=pygame.Rect(pygame.mouse.get_pos(), (8,8))
...