2011-06-15 67 views
5

Soy nuevo en pygame, en este momento estoy trabajando con sprites. Mi pregunta es ¿cómo puedo detectar si se ha hecho clic en el sprite? Quiero hacer algo cuando se hace clic en el sprite como un botón.cómo detectar si se ha hecho clic en el sprite en pygame

THX :)

[Editado]

THX Esteban. Además, ¿hay alguna forma de saber quién es el sprite al que se hizo clic? Aquí es código de ejemplo

boxes = pygame.sprite.Group() 
for color, location in [([255, 0, 0], [0, 0]), 
         ([0, 255, 0], [60, 60]), 
         ([0, 0, 255], [120, 120])]: 
    boxes.add(UpDownBox(color, location) 

por ejemplo, hago clic en el sprite en la posición [0,0], el programa debe imprimir su color o su ubicación. gracias de nuevo :)

Respuesta

6

Ha pasado mucho tiempo desde que hice algo en Pygame, pero la idea básica de IIRC es que tu sprite debería tener un rectattribute que describa su posición en la pantalla. Cuando recibe un evento de clic del mouse, get the position llamando al pygame.mouse.get_pos(). Puede entonces check for a collision entre un rect centrado en la posición del mouse y el rect de su sprite llamando al pygame.sprite.collide_rect() en ambos objetos rect.

Un buen ejemplo se puede encontrar here.

Cuestiones relacionadas