Você está aqui: Python ::: Pygame ::: Mouse e Teclado |
Como capturar o evento MOUSEBUTTONDOWN na janela do Pygame - Eventos do mouse em PygameQuantidade de visualizações: 1594 vezes |
|
Na maioria dos jogos desenvolvidos em Python e Pygame nós precisamos lidar com os eventos do mouse e teclado. Nesta dica mostrarei como detectar o evento MOUSEBUTTONDOWN, qual botão que foi pressionado e as coordenadas x e y do mouse no momento do evento. Para começar, veja uma aplicação Pygame completa que nos avisa quando o evento MOUSEBUTTONDOWN ocorre: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# vamos importar as bibliotecas necessárias
import pygame, sys
from pygame.locals import *
# inicializa a biblioteca
pygame.init()
# obtém a superfície do jogo e define o tamanho da tela
DISPLAYSURF = pygame.display.set_mode((600, 600))
# vamos definir o título da janela do jogo
pygame.display.set_caption('Meu Jogo de Cartas')
# e aqui nós entramos no loop do game
while True:
# monitoramos os eventos
for evento in pygame.event.get():
# se o evento foi um pedido para sair
if evento.type == QUIT:
# fechamos a tela do jogo
pygame.quit()
# e saimos do programa
sys.exit()
# é um evento de pressionamento do botão do mouse?
if evento.type == MOUSEBUTTONDOWN:
print("O botão do mouse foi pressionado.")
# redesenha a tela continuamente
pygame.display.update()
Ao executar este código e pressionarmos o botão do mouse, a seguinte mensagem será exibida no console: O botão do mouse foi pressionado. Agora vamos avançar um pouco mais e capturar o botão que o usuário pressionou. Veja a nova versão do código: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# é um evento de pressionamento do botão do mouse?
if evento.type == MOUSEBUTTONDOWN:
# o usuário pressionou o botão 1 (botão esquerdo)?
if evento.button == 1:
print("O botão esquerdo foi pressionado.")
# o botão central foi pressionado?
elif evento.button == 2:
print("O botão central (da rodinha) foi pressionado.")
# o botão direito foi pressionado?
elif evento.button == 3:
print("O botão direito foi pressionado.")
else:
print("Não sei qual botão foi pressionado.")
Execute o código novamente e você verá mensagens parecidas com: O botão esquerdo foi pressionado. O botão esquerdo foi pressionado. O botão direito foi pressionado. O botão direito foi pressionado. O botão esquerdo foi pressionado. O botão central (da rodinha) foi pressionado. O botão central (da rodinha) foi pressionado. Para finalizar, veja agora como podemos detectar o evento MOUSEBUTTONDOWN e retornar as coordenadas x e y nas quais o evento ocorreu: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# é um evento de pressionamento do botão do mouse?
if evento.type == MOUSEBUTTONDOWN:
# agora vamos retornar as coordenadas do evento
posicao = pygame.mouse.get_pos()
print("O evento MOUSEBUTTONDOWN ocorreu nas coordenadas x = {0}; y = {1}"
.format(posicao[0], posicao[1]))
Ao executar o código agora nós teremos o seguinte resultado: O evento MOUSEBUTTONDOWN ocorreu nas coordenadas x = 8; y = 188 |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Delphi - Como selecionar um item de uma ListBox do Delphi em tempo de execução usando a propriedade ItemIndex |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







