You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
787 B
31 lines
787 B
import pygame
|
|
|
|
#button class
|
|
class Button():
|
|
def __init__(self,x, y, image, scale):
|
|
width = image.get_width()
|
|
height = image.get_height()
|
|
self.image = pygame.transform.scale(image, (int(width * scale), int(height * scale)))
|
|
self.rect = self.image.get_rect()
|
|
self.rect.topleft = (x, y)
|
|
self.clicked = False
|
|
|
|
def draw(self, surface):
|
|
action = False
|
|
|
|
#get mouse position
|
|
pos = pygame.mouse.get_pos()
|
|
|
|
#check mouseover and clicked conditions
|
|
if self.rect.collidepoint(pos):
|
|
if pygame.mouse.get_pressed()[0] == 1 and self.clicked == False:
|
|
action = True
|
|
self.clicked = True
|
|
|
|
if pygame.mouse.get_pressed()[0] == 0:
|
|
self.clicked = False
|
|
|
|
#draw button
|
|
surface.blit(self.image, (self.rect.x, self.rect.y))
|
|
|
|
return action |