PyGame. Eventos
Dentro de la ventana del juego (o de la pantalla, si se prefiere) se producen eventos que resultan de la acción del usuario sobre los elementos que sirven de interfaz, como son el teclado y el ratón.
En PyGame, la función pygame.event.get() devuelve una lista de todos los eventos que suceden en pantalla, que son los siguientes:
- pygame.QUIT -> Cierre de ventana (pulsando la [X] de la ventana)
Eventos de teclado:
- pygame.KEYDOWN -> Cuando se presiona una tecla.
- pygame.KEYUP -> Cuando se suelta una tecla.
Eventos de ratón:
- pygame.MOUSEBUTTONDOWN -> Cuando se presiona un botón del ratón.
- pygame.MOUSEBUTTOMUP -> Cuando se suelta un botón del ratón.
- pygame.MOUSEMOTION -> Cuando el ratón se mueve.
Eventos de joystick:
- pygame.JOYAXISMOTION -> Cuando se mueve un eje del joystick.
- pygame.JOYBUTTONDOWN -> Cuando se presiona un botón del joystick.
- pygame.JOYBUTTONUP -> Cuando se suelta un botón del joystick.
Para mostrar en consola los eventos usamos la función print(event). Algunos de ellos son los siguientes:
Algunos eventos de ventana:
<Event(4352-AudioDeviceAdded {'which': 0, 'iscapture': 0})><Event(4352-AudioDeviceAdded {'which': 0, 'iscapture': 1})><Event(32774-WindowShown {'window': None})><Event(32768-ActiveEvent {'gain': 1, 'state': 2})><Event(32785-WindowFocusGained {'window': None})><Event(770-TextEditing {'text': '', 'start': 0, 'length': 0, 'window': None})><Event(32783-WindowEnter {'window': None})>
Algunos eventos de ratón:
<Event(1024-MouseMotion {'pos': (605, 211), 'rel': (0, 0), 'buttons': (0, 0, 0), 'touch': False, 'window': None})><Event(1024-MouseMotion {'pos': (615, 207), 'rel': (10, -4), 'buttons': (0, 0, 0), 'touch': False, 'window': None})>
Algunos eventos de teclado:
<Event(768-KeyDown {'unicode': '1', 'key': 49, 'mod': 0, 'scancode': 30, 'window': None})><Event(771-TextInput {'text': '1', 'window': None})><Event(769-KeyUp {'unicode': '1', 'key': 49, 'mod': 0, 'scancode': 30, 'window': None})><Event(768-KeyDown {'unicode': '2', 'key': 50, 'mod': 0, 'scancode': 31, 'window': None})><Event(771-TextInput {'text': '2', 'window': None})><Event(769-KeyUp {'unicode': '2', 'key': 50, 'mod': 0, 'scancode': 31, 'window': None})><Event(768-KeyDown {'unicode': '3', 'key': 51, 'mod': 0, 'scancode': 32, 'window': None})>
Lo interesante de los eventos es que su control mediante código nos permiten desarrollar interacciones entre el usuario y el programa. Algunos ejemplos de formas de uso serán tratadas en posteriores entradas.

No hay comentarios:
Publicar un comentario
Comenta esta entrada