Python中pygame的mouse鼠标事件用法实例
作者:Hongten 时间:2021-02-09 12:21:41
本文实例讲述了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程序设计有所帮助。
标签:Python,pygame
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2021-08-06 23:23:42
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2022-06-01 23:28:56
![](https://img.aspxhome.com/file/2023/6/96976_0s.jpg)
php函数重载的替代方法--伪重载详解
2023-11-18 10:24:06
教你使用python做一个“罚点球”小游戏
2022-10-12 00:09:03
基于PyQt5制作一个windows通知管理器
2022-10-18 19:28:24
![](https://img.aspxhome.com/file/2023/7/75327_0s.gif)
用ASP实现Google在线文章翻译的功能
2008-10-11 13:55:00
[译]开发人员经常犯的8个设计错误
2008-02-01 12:28:00
![](https://img.aspxhome.com/file/uploadpic/20082/1/200821125136512.gif)
Python利用PyExecJS库执行JS函数的案例分析
2022-10-26 08:53:19
![](https://img.aspxhome.com/file/2023/4/94154_0s.jpg)
php下使用iconv需要注意的问题
2023-11-23 03:05:09
一场关于YUI3/jQuery的精彩辩论
2010-11-11 12:50:00
讲解设计应用程序时避免阻塞的八个准则
2009-01-04 14:16:00
python中defaultdict方法的使用详解
2022-06-25 05:07:09
纯手工打造CSS像素画
2009-03-09 12:57:00
![](https://img.aspxhome.com/file/UploadPic/20093/9/01-12s.gif)
CSS Sprites + 圆角[译]
2009-05-08 16:10:00
![](https://img.aspxhome.com/file/UploadPic/20095/8/01-11s.jpg)
使用Python的Tornado框架实现一个简单的WebQQ机器人
2023-03-19 03:26:09
Python模块/包/库安装的六种方法及区别
2021-11-03 15:53:56
![](https://img.aspxhome.com/file/2023/4/72964_0s.png)
基于PHP RSA密文过长加密解密 越过1024的解决方法
2023-09-07 02:57:56
从SNS看社会化界面设计(一)
2009-02-23 12:21:00
![](https://img.aspxhome.com/file/UploadPic/20092/23/1-73s.jpg)
ASP编写计数器的优化方法
2009-01-21 19:46:00
谈谈我的“分离”观
2010-08-31 14:47:00