В рамках игры я пытаюсь создать страницу входа в Pygame. Поскольку мне нужны кнопки, я пытался заставить работать функцию кнопок (которую я видел на другой странице учебника). Тем не менее, я, кажется, столкнулся с проблемой при получении программы для регистрации при щелчке мыши. Ниже я вставил свою функцию для кнопки:
def button(self,msg,x,y,w,h,ic,ac,action=None):
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
print(click)
if x+w > mouse[0] > x and y+h > mouse[1] > y:
pygame.draw.rect(screen, ac,(x,y,w,h))
if click[0] == 1 and action != None:
action()
else:
pygame.draw.rect(screen, ic,(x,y,w,h))
smallText = pygame.font.Font("freesansbold.ttf",20)
textSurf, textRect = self.text_objects(msg, smallText)
textRect.center = ( (x+(w/2)), (y+(h/2)) )
screen.blit(textSurf, textRect)
pygame.display.update()
Каждый раз, когда я запускаю свою программу - независимо от того, что я делаю, мои кнопки остаются в состоянии c и не меняют цвет и не позволяют никаким действиям запустить. Кроме того, строка «print (click)» выводит только когда-либо (0,0,0). Я использую ноутбук для кодирования этой программы, поэтому, возможно, мой трекпад вызывает проблемы? Я не совсем уверен, но любые альтернативы о том, как заставить эту функцию работать, будут высоко оценены!