Akcja Pygame po kliknięciu myszą na .rect?
Piszę funkcję testową, aby dowiedzieć się, jak działanie kliknięcia myszą na pygame.rect spowoduje odpowiedź.
Jak dotąd:
def test():
pygame.init()
screen = pygame.display.set_mode((770,430))
pygame.mouse.set_visible(1)
background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill((250,250,250))
screen.blit(background, (0,0))
pygame.display.flip()
## set-up screen in these lines above ##
button = pygame.image.load('Pictures/cards/stand.png').convert_alpha()
screen.blit(button,(300,200))
pygame.display.flip()
## does button need to be 'pygame.sprite.Sprite for this? ##
## I use 'get_rect() ##
button = button.get_rect()
## loop to check for mouse action and its position ##
while True:
for event in pygame.event.get():
if event.type == pygame.mouse.get_pressed():
## if mouse is pressed get position of cursor ##
pos = pygame.mouse.get_pos()
## check if cursor is on button ##
if button.collidepoint(pos):
## exit ##
return
Natknąłem się na strony w Google, w których ludzie używają lub są polecani do używaniapygame.sprite.Sprite
klasa dla obrazów i myślę, że to jest mój problem. Sprawdziłem dokumenty pygames i nie ma wiele spójności między metodami, imho. Oczywiście brakuje mi czegoś prostego, ale pomyślałemget_rect
czy zdjęcie w pygamesach będzie w stanie sprawdzić, czy pozycja myszy jest nad nim po naciśnięciu?
Edytuj: Myślę, że muszę zadzwonić dopygame.sprite.Sprite
metoda uczynienia obrazów / rectów interaktywnymi?