python中pygame的mouse鼠标事件用法实例

本文实例讲述了python中pygame的mouse鼠标事件用法。分享给大家供大家参考,具体如下:

pygame.mouse提供了一些方法获取鼠标设备当前的状态

”’
pygame.mouse.get_pressed – get the state of the mouse buttons get the state of the mouse buttons
pygame.mouse.get_pos – get the mouse cursor position get the mouse cursor position
pygame.mouse.get_rel – get the amount of mouse movement get the amount of mouse movement
pygame.mouse.set_pos – set the mouse cursor position set the mouse cursor position
pygame.mouse.set_visible – hide or show the mouse cursor hide or show the mouse cursor
pygame.mouse.get_focused – check if the display is receiving mouse input check if the display is receiving mouse input
pygame.mouse.set_cursor – set the image for the system mouse cursor set the image for the system mouse cursor
pygame.mouse.get_cursor – get the image for the system mouse cursor get the image for the system mouse cursor
”’

在下面的demo中,主要用到了:

pygame.mouse.get_pressed()

pygame.mouse.get_pos()

展示的效果:

游戏效果:

当鼠标经过窗口的时候,窗口背景颜色会随着鼠标的移动而发生改变,当鼠标点击窗口

会在控制台打印出是鼠标的那个键被点击了:左,右,滚轮

#pygame mouse
import os, pygame
from pygame.locals import *
from sys import exit
from random import *
__author__ = {‘name’ : ‘hongten’,
‘mail’ : ‘hongtenzone@foxmail.com’,
‘version’ : ‘1.0’}
if not pygame.font:print(‘warning, can not found font!’)
pygame.init()
screen = pygame.display.set_mode((255, 255), 0, 32)
screen.fill((255,255,255))
font = pygame.font.font(‘data\\font\\tork____.ttf’, 20)
text = font.render(‘cliked me please!!!’, true, (34, 252, 43))
mouse_x, mouse_y = 0, 0
while 1:
for event in pygame.event.get():
if event.type == quit:
exit()
elif event.type == mousebuttondown:
pressed_array = pygame.mouse.get_pressed()
for index in range(len(pressed_array)):
if pressed_array[index]:
if index == 0:
print(‘pressed left button!’)
elif index == 1:
print(‘the mouse wheel pressed!’)
elif index == 2:
print(‘pressed right button!’)
elif event.type == mousemotion:
#return the x and y position of the mouse cursor
pos = pygame.mouse.get_pos()
mouse_x = pos[0]
mouse_y = pos[1]
screen.fill((mouse_x, mouse_y, 0))
screen.blit(text, (40, 100))
pygame.display.update()

希望本文所述对大家python程序设计有所帮助。

Posted in 未分类