Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Python ::: Pygame ::: Mouse e Teclado

Como capturar o evento MOUSEBUTTONDOWN na janela do Pygame - Eventos do mouse em Pygame

Quantidade de visualizações: 1434 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:

# 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:

# é 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:

# é 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

Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.