Pygame中获取鼠标位置的方法

在pygame中,可以通过鼠标通过鼠标事件或者mouse模块中的函数获取鼠标位置。

1 通过鼠标事件获取鼠标位置

《Pygame中监控键盘按键的方法》中提到,鼠标在移动的时候,系统就会把鼠标移动的事件放到事件队列中。

1.1 获取鼠标位置

可以通过while True语句从事件队列中取出鼠标移动事件,获取鼠标当前的位置。代码如图1所示。

图1 通过鼠标事件获取鼠标位置的代码

第12-13行定义的mouse_x1和mouse_y1两个变量用于保存获取到鼠标横轴坐标和纵轴坐标。第5行代码通过for循环与pygame.event.get()获取事件队列中的所有事件;第16-18行代码用于处理程序退出事件;第19-20行代码用于处理鼠标移动事件,MOUSEMOTION表示鼠标移动事件,event.pos中包含了鼠标的横纵坐标,分别保存到mouse_x1和mouse_y1中。

1.2 显示鼠标位置

获取鼠标的横纵坐标后,可以通过《Pygame显示文字》中提到的方法将坐标显示出来,代码如图2所示。

图2 显示鼠标位置的代码

相关链接1 显示文字代码的相关内容,请参考《Pygame显示文字》

2 通过mouse模块中的函数获取鼠标位置

pygame的mouse模块包含了获取鼠标信息的函数,可以通过其中的get_pos()函数获取鼠标所在的横纵坐标,代码如图3所示。

图3 通过mouse模块中的函数获取鼠标位置的代码

其中,第27行代码通过get_pos()函数获取到了鼠标的横纵坐标,并将其分别保存到mouse_x2和mouse_y2中。第28-29行在指定位置处显示获取到的坐标值。

3 程序运行效果

程序运行的效果如图4所示。

图4 程序运行效果

从图4中可以看出,随着鼠标在窗口中移动,右上角会显示鼠标的实时位置。在这两组数据中,白色数据为通过鼠标事件获取到的鼠标位置,红色数据为通过mouse模块中的函数获取鼠标位置。两组数据相同,说明这两种获取鼠标位置的方法是等价的。

4 程序完整代码

程序的完整代码如图5所示。

图5 程序的完整代码

相关推荐
JosieBook3 天前
【Python】使用Python在线编译器Lightly轻松实现贪吃蛇游戏
python·游戏·pygame
深兰科技5 天前
柳州市委常委、统战部部长,副市长潘展东率队首访深兰科技集团新总部,共探 AI 赋能制造大市与东盟合作新局
人工智能·beautifulsoup·numpy·pyqt·matplotlib·pygame·深兰科技
天庭鸡腿哥15 天前
比Windows系统自带更强大,好用!
windows·django·pygame
AI视觉网奇16 天前
麒麟系统播放图片 速度比较
开发语言·python·pygame
绝缘体117 天前
折扣大牌点餐api接口对接适合本地生活吗?
大数据·网络·搜索引擎·pygame
人工干智能19 天前
pygame的帧处理中,涉及键盘的有`pg.event.get()`与`pg.key.get_pressed()` ,二者有什么区别与联系?
python·游戏·计算机外设·pygame
赛博郎中19 天前
pygame小游戏飞机大战_8继承精灵玩家优化
python·pygame
人工干智能24 天前
游戏中角色持枪:玩家操控角色,角色转向时枪也要转向
python·游戏·pygame
天天进步20151 个月前
Python游戏开发引擎设计与实现
开发语言·python·pygame
封奚泽优1 个月前
使用Python制造扫雷游戏
开发语言·python·游戏·pygame·扫雷·random