pygame: как мне проверить если кнопка мыши отжата

У меня есть некий класс 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 + 1
        except:
            self.id = 1
        self.image = pg.image.load(image).convert_alpha()
        self.image.set_colorkey(clrs['white'])
        self.rect = self.image.get_rect(topleft=(x, y))
        buttons.append(self)

    def check(self):
        m = pg.mouse.get_pos()
        if self.rect.collidepoint(m):
            return self.id
        else:
            return None

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()
        m1 = pg.mouse.get_pressed()[0]
        print(i.type)
        if m1 and i.type == pg.MOUSEBUTTONUP:
            for i in buttons:
                command = i.check()
                if command:
                    break
            print(command)
    pg.time.delay(1000)```

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