Python Arcade: manejo de las entradas del mouse

En este artículo, aprenderemos cómo podemos manejar las entradas del mouse en el módulo arcade en Python.

En Arcade, puede manejar fácilmente las entradas del mouse usando estas funciones:

en_mouse_motion():

Sintaxis: on_mouse_motion(x, y, dx, dy)

Parámetros:

  • x : coordenada x
  • y : coordenada y
  • dx : cambio en la coordenada x
  • dy : cambio en la coordenada y

on_mouse_press():

Sintaxis: on_mouse_press (x, y, botón, modificadores)

Parámetros:

  • x : coordenada x
  • y : coordenada y
  • boton: boton que se presiona
  • modificadores : Bitwise ‘y’ de todos los modificadores (shift, ctrl, num lock) presionados durante este evento.

Se llamará a la función on_mouse_motion() cada vez que el usuario mueva el mouse. De manera similar, se llamará a on_mouse_press() cada vez que un usuario presione un botón del mouse.

Movimiento usando entradas de mouse

Aquí crearemos un programa simple usando el módulo arcade para mover nuestro personaje usando las entradas del mouse.

En el siguiente ejemplo, vamos a crear una clase MainGame(). Dentro de esta clase primero, inicializaremos las coordenadas x e y iniciales del jugador. Luego crearemos tres funciones dentro de esta clase.

  • on_draw():- Dentro de esta función, comenzaremos el renderizado usando arcade.start_render() y luego dibujaremos nuestro reproductor.
  • on_mouse_motion(): – Esta función se llamará cada vez que el usuario mueva el mouse. Dentro de esta función, cambiaremos las coordenadas x e y del jugador.

A continuación se muestra la implementación:

Python3

# Importing arcade module
import arcade
  
# Creating MainGame class
class MainGame(arcade.Window):
    def __init__(self):
        super().__init__(600, 600, title="Keyboard Inputs")
  
        # Starting location of player
        self.x = 100
        self.y = 100
  
    # Creating on_draw() function to draw on the screen
    def on_draw(self):
        arcade.start_render()
  
        # Drawing our player
        arcade.draw_circle_filled(self.x, self.y, 25,
                                  arcade.color.GREEN)
  
    # Creating function to check the position
    # of the mouse
    def on_mouse_motion(self, x, y, dx, dy):
        """
        Called whenever the mouse moves.
        """
        self.x = x
        self.y = y
  
# Calling MainGame class
MainGame()
arcade.run()

Producción:

Manejar los clics del mouse

Ahora, para manejar los clics del mouse, vamos a crear una nueva función llamada «on_mouse_press». Esta función se llamará cada vez que el usuario haga clic en un botón del mouse.

Python3

# Importing arcade module
import arcade
  
# Creating MainGame class       
class MainGame(arcade.Window):
    def __init__(self):
        super().__init__(600, 600, title="Keyboard Inputs")
  
        # Starting location of player
        self.x = 100
        self.y = 100
  
    # Creating on_draw() function to draw on the screen
    def on_draw(self):
        arcade.start_render()
  
        # Drawing our player
        arcade.draw_circle_filled(self.x, self.y,25,
                                     arcade.color.GREEN )
          
    # Creating function to check the position
    # of the mouse
    def on_mouse_motion(self, x, y, dx, dy):
        """
        Called whenever the mouse moves.
        """
        self.x = x
        self.y = y
      
    # Creating function to check the mouse clicks
    def on_mouse_press(self, x, y, button, modifiers):
        print("Mouse button is pressed")
                
# Calling MainGame class       
MainGame()
arcade.run()

Producción:

Publicación traducida automáticamente

Artículo escrito por imranalam21510 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *