¿Cuál es la forma canónica de hacer que tus sprites respondan a los clics del mouse en PyGame?¿Cómo respondo a los clics del mouse en sprites en PyGame?
Esto es algo simple, en mi bucle de eventos:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit_game()
[...]
elif ( event.type == pygame.MOUSEBUTTONDOWN and
pygame.mouse.get_pressed()[0]):
for sprite in sprites:
sprite.mouse_click(pygame.mouse.get_pos())
Algunas preguntas al respecto:
- Es ésta la mejor manera de responder a los clics del ratón?
- ¿Qué sucede si el mouse permanece presionado en el sprite durante algún tiempo? ¿Cómo hago un único evento?
- ¿Es esta una forma razonable de notificar a todos mis sprites del clic?
Gracias de antemano
Gracias. Acerca de la parte 'event.button == 1', ¿no hay constante en lugar de esa explícita 1 en PyGame? –
No creo que sea necesario. 1 es siempre el botón izquierdo, 2 el medio y 3 es el derecho. 3 es el derecho incluso en los ratones con solo dos botones. – Zoomulator