Blog
Control de Ratón y del click con Kivy

A continuación en nuestra agenda explicaremos cómo controlar el ratón y su click. En Kivy, estos eventos son simplemente llamados “touch”. Por ahora, vamos a cubrir un simple toque, donde un toque es sólo un toque. Dicho esto, Kivy también soporta operaciones multitáctiles como “zoom” y movimientos “spin” que usted podría estar familiarizado con hacer en su teléfono o tableta.
Vamos a saltar al código ahora:
from kivy.app import App from kivy.uix.widget import Widget class TouchInput(Widget): def on_touch_down(self, touch): print(touch) def on_touch_move(self, touch): print(touch) def on_touch_up(self, touch): print("RELEASED!",touch) class SimpleKivy4(App): def build(self): return TouchInput() if __name__ == "__main__": SimpleKivy4().run()
Ahora hemos definido una nueva clase, llamada TouchInput, que hereda de Widget.
Tenemos tres métodos aquí, on_touch_down (la pulsación inicial), on_touch_move (movimiento siguiente y mientras hay una pulsación) y on_touch_up (la “liberación” de una pulsación). Estamos imprimiendo estos eventos.
A continuación, dentro de nuestra clase raíz, estamos regresando esta clase TouchInput.
Como sólo nos preocupa la entrada de mouse / touch en este tutorial, no nos preocupa el archivo. kv. Todavía se está cargando, pero como ninguno de los elementos está siendo llamado a ser mostrado, no vemos nada del archivo. kv aquí.
Al ejecutarse, puede probar el código haciendo clic y arrastrando en la pantalla. Deberá ver la impresión fuera de la ubicación del ratón para todo el movimiento y presionando.
Un ejemplo de la salida que se puede ver es algo parecido a algo parecido:
<MouseMotionEvent spos= (0.665,0.353333333333333333333434) pos= (532.0,212.00000000000000000003)>
Aquí, podemos ver dos formas de posición de salida. “spos” es más bien una ubicación relativa. ¿Recuerdas la disposición del flotador? 0 es 0, y 1 es “lleno”. Por lo tanto, si el ratón está en 0.5,0.5, está justo en el centro de la pantalla.
También tenemos la ubicación de coordenadas reales (pos) también.
Ambos son útiles, aunque probablemente vas a usar spos más si estás planeando que tu aplicación pueda correr a pantalla completa en muchos dispositivos y tipos de dispositivos.
➡ Aprende mucho mas de Kivy y desarrollo de juegos con Python en nuestro Curso Python de Videojuegos: