29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
class Button():
|
|
def __init__(self, image, pos, text_input, font, base_color, hovering_color):
|
|
self.image = image
|
|
self.x_pos = pos[0]
|
|
self.y_pos = pos[1]
|
|
self.font = font
|
|
self.base_color, self.hovering_color = base_color, hovering_color
|
|
self.text_input = text_input
|
|
self.text = self.font.render(self.text_input, True, self.base_color)
|
|
if self.image is None:
|
|
self.image = self.text
|
|
self.rect = self.image.get_rect(center=(self.x_pos, self.y_pos))
|
|
self.text_rect = self.text.get_rect(center=(self.x_pos, self.y_pos))
|
|
|
|
def update(self, screen):
|
|
if self.image is not None:
|
|
screen.blit(self.image, self.rect)
|
|
screen.blit(self.text, self.text_rect)
|
|
|
|
def checkForInput(self, position):
|
|
if position[0] in range(self.rect.left, self.rect.right) and position[1] in range(self.rect.top, self.rect.bottom):
|
|
return True
|
|
return False
|
|
|
|
def changeColor(self, position):
|
|
if position[0] in range(self.rect.left, self.rect.right) and position[1] in range(self.rect.top, self.rect.bottom):
|
|
self.text = self.font.render(self.text_input, True, self.hovering_color)
|
|
else:
|
|
self.text = self.font.render(self.text_input, True, self.base_color) |