I'm trying to put buttons in a surface*(screen)* and want to include them in just one class. This is the code:
larguraTela, alturaTela = (640, 480)
tela = pygame.display.set_mode((larguraTela, alturaTela))
verde = (38, 117, 1)
# Rect(left, top, width, height)
#botaoMenu = pygame.Rect(20, 415, 150, 45)
#setaEsquerda = pygame.Rect(10, 280, 45, 45)
#setaDireita = pygame.Rect(580, 280, 45, 45)
#pygame.draw.rect(tela, verde, botaoMenu)
#pygame.draw.rect(tela, verde, setaDireita)
#pygame.draw.rect(tela, verde, setaEsquerda)
class Button:
def __init__(self, left, top, width, height):
self.button = pygame.Rect(left, top, width, height)
def draw(self, screen, color, botao):
self.rect = pygame.draw.rect(screen, color, botao)
buttonMenu = Button(20, 415, 150 ,45)
buttonMenu.draw(tela, verde, buttonMenu)
The error is:
Traceback (most recent call last):
File "/home/rafael/ibi/Rafael/Código organizado/menu_equipe_otimizado.py", line 31, in <module>
buttonMenu.draw(tela, verde, buttonMenu)
File "/home/rafael/ibi/Rafael/Código organizado/menu_equipe_otimizado.py", line 28, in draw
self.rect = pygame.draw.rect(self, screen, color, botao)
TypeError: argument 1 must be pygame.Surface, not Button