Módulo de pygame para utilizar el mouse.
Las funciones de este módulo se pueden usar para obtener el estado actual del dispositivo de mouse. Estas funciones también pueden alterar el cursor del sistema.
Cuando se define el modo de video, la cola de eventos comenzará a recibir
eventos de mouse. Los botones del mouse generan los eventos
pygame.MOUSEBUTTONDOWN
y pygame.MOUSEBUTTONUP
. Estos eventos
contienen un atributo button
que representa el botón que se
ha pulsado. La rueda del mouse generará eventos pygame.MOUSEBUTTONDOWN
,
el atributo button
será 4 si la rueda gira hacia arriba y 5 cuando
la rueda gire hacia abajo. Se generará el evento pygame.MOUSEMOTION
en cualquier momento que se mueva el mouse. El movimiento de mouse
se divide en pequeños y precisos eventos MOUSEMOTION
. Los
eventos de movimiento que no se eliminan de la cola de eventos
apropiadamente son la razón principal de que la cola de eventos se
llene.
El mouse entrará en modo virtual si se oculta el cursor y se define
la entrada del mismo como exclusiva de la ventana. Este modo ocasiona
que los movimiento relativos no se detendrán en los bordes de la pantalla. Vea
las funciones pygame.mouse.set_visible()
y pygame.event.set_grab()
para configurarlo así.
Obtiene el estado de los botones del mouse.
pygame.mouse.get_pressed(): return (button1, button2, button3)
Retorna una secuencia de valores booleanos representado el estado de todos
los botones del mouse. Un valor True
significa que el botón está
pulsado al momento de hacer la llamada a esta función.
Nota: para obtener todos los eventos del mouse es mejor usar
pygame.event.wait()
o bien pygame.event.get()
y consultar
todos esos eventos para ver si estos son MOUSEBUTTONDOWN
, MOUSEBUTTONUP
o
MOUSEMOTION
.
Note que en X11 algunos servidores X usan emulación del botón central. Se emitirá un evento del botón 2 cuando pulse al mismo tiempo los botones 1 y 3.
Recuerde llamar a la función pygame.event.get()
antes de usar esta
función. De otra forma no funcionará.
Obtiene la posición del cursor de mouse.
pygame.mouse.get_pos(): return (x, y)
Retorna la posición X e Y del cursor de mouse. La posición será relativa a la esquina superior izquierda de la pantalla. El cursor podría estar localizado fuera de la ventana, aunque esta función solo retornará la posición si está dentro de la ventana.
Obtiene la cantidad de movimiento del mouse.
pygame.mouse.get_rel(): return (x, y)
Retorna la cantidad de movimiento en X e Y desde la llamada previa a esta función. El movimiento relativo del cursor de mouse está restringido a los bordes de la pantalla, aunque hay una forma de evitar esto usando un modo de mouse virtual. Este modo virtual se describe al principio de la página.
Define la posición del cursor.
pygame.mouse.set_pos([x, y]): return None
Define la posición actual del mouse. Si el cursor del mouse está visible
entonces saltará a la nueva posición inmediatamente. Mover el
mouse generará un nuevo evento pygame.MOUSEMOTION
.
Oculta o muestra el cursor del mouse.
pygame.mouse.set_visible(bool): return bool
El cursor del mouse será visible si el argumento bool
es True
. Esta
función retornará el estado de visibilidad anterior del cursor.
Consulta si la ventana está recibiendo la entrada del mouse.
pygame.mouse.get_focused(): return bool
Retorna True
cuando pygame está recibiendo los eventos
del mouse (o, en la terminología de las ventanas, está activo
o tiene foco).
Esté método es mas útil cuando funciona en una ventana. En cambio, en
un modo de pantalla completa, este método siempre retornará True
.
Note que en sistemas MS Windows, la ventana que tiene el
foco del mouse también tendrá el foco del teclado. Pero bajo
sistemas el servidor X (GNU/Linux por ejemplo), una ventana
podría recibir los eventos del mouse y otra ventana los
eventos del teclado. La función pygame.mouse.get_focused()
indica que ventana de pygame recibe los eventos del mouse.
Define la imagen para el cursor del mouse de sistema.
pygame.mouse.set_cursor(size, hotspot, xormasks, andmasks): return None
Cuando el cursor del mouse está visible, se mostrará como un mapa
de bits en blanco y negro usando un vector de bits. El argumento
size
es una secuencia que contiene el ancho y alto del cursor, hotspot
es una secuencia que contiene el punto de control, xormasks
es
una secuencia de bytes que contiene la máscara de datos xor. Por
último andmasks
es una secuencia de bytes que contiene
los datos de bits del cursor.
El ancho tiene que ser múltiplo de 0, y los vectores deben tener el tamaño correcto para el ancho y alto indicado. De otra forma se lanzará una excepción.
Vea el módulo pygame.cursor
para obtener ayuda sobre como
crear vectores personalizados o por defecto para cursores del
sistema.
Obtiene la imagen para el cursor del mouse de sistema.
pygame.mouse.get_cursor(): return (size, hotspot, xormasks, andmasks)
Obtiene información acerca del cursor de sistema del mouse. El
valor de retorno tiene la misma información que los argumentos
indicados en pygame.mouse.set_cursor()
.