Python Arcade - Manipulação de entradas de mouse
Neste artigo, aprenderemos como podemos lidar com as entradas do mouse no módulo de arcade em Python.
No Arcade, você pode manipular facilmente as entradas do mouse usando estas funções:
on_mouse_motion():
Sintaxe: on_mouse_motion (x, y, dx, dy)
Parâmetros:
- x: coordenada x
- y: coordenada y
- dx: mudança na coordenada x
- dy: mudança na coordenada y
on_mouse_press():
Sintaxe: on_mouse_press (x, y, botão, modificadores)
Parâmetros:
- x: coordenada x
- y: coordenada y
- botão: botão que está pressionado
- modificadores: Bitwise 'e' de todos os modificadores (shift, ctrl, num lock) pressionados durante este evento.
A função on_mouse_motion() será chamada sempre que o usuário mover o mouse. Da mesma forma, on_mouse_press() será chamado sempre que um usuário pressionar um botão do mouse.
Movimento usando entradas do mouse
Aqui, criaremos um programa simples usando o módulo de arcade para mover nosso personagem usando entradas do mouse.
No exemplo abaixo, vamos criar uma classe MainGame(). Dentro desta classe primeiro, inicializaremos as coordenadas xey iniciais do jogador. Em seguida, criaremos três funções dentro desta classe.
- on_draw(): - Dentro desta função, iniciaremos a renderização usando arcade.start_render() e então desenharemos nosso jogador.
- on_mouse_motion(): - Esta função será chamada sempre que o usuário mover o mouse. Dentro desta função, vamos mudar as coordenadas xey do jogador.
Abaixo está a implementação:
# 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()
Saída:
Lidar com cliques do mouse
Agora, para lidar com os cliques do mouse, vamos criar uma nova função chamada “on_mouse_press”. Esta função será chamada sempre que o usuário clicar em um botão do mouse.
# 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()
Saída:
Atenção geek! Fortaleça suas bases com o Python Programming Foundation Course e aprenda o básico.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva