pygame: Как проверить если мышь находится в одном из rect

У меня есть некий класс button, имеющий функцию check, которая выводит id кнопки если мышь находится внутри его rect но у меня так и не получилось это реализовать( так что люди умные, помогите чем можете пж:

import pygame as pg

W = 1920
H = 1080

pg.init()
pg.display.set_mode(flags=pg.FULLSCREEN | pg.OPENGL | pg.DOUBLEBUF)
sc = pg.display.set_mode((W, H))
clrs = {'white': (255, 255, 255)}


class Button(pg.sprite.Sprite):
    def __init__(self, image, x, y):
        pg.sprite.Sprite.__init__(self)
        try:
            self.id = buttons[-1].id
        except:
            self.id = 1
        self.image = pg.image.load(image).convert_alpha()
        self.image.set_colorkey((255, 255, 255))
        self.rect = self.image.get_rect(topleft=(x, y))
        buttons.append(self)

    def check(self):
        m = pg.mouse.get_pos()
        if (self.rect.right > m[0] > self.rect.left) and (self.rect.bottom > m[0] > self.rect.top):
            return self.id
            print('a')
        print('b')


buttons = []

sc_menu = pg.Surface((W, H))
sc_menu.fill(clrs['white'])
menu_bg = pg.image.load('main_menu.png')
sc_menu.blit(menu_bg, (0, 0))
Button('game-button.png', 25, 100)
Button('profile-button.png', 25, 200)
for i in buttons:
    sc_menu.blit(i.image, i.rect)
sc.blit(sc_menu, (0, 0))
pg.display.update()
while 1:
    for i in pg.event.get():
        if i.type == pg.QUIT:
            pg.quit()
            sys.exit()
    if pg.mouse.get_pressed()[0]:
        for i in buttons:
            print(i.check())
    pg.time.delay(20)```

Ответы (0 шт):