- Pygame 教程
- Pygame - 首页
- Pygame - 概述
- Pygame - Hello World
- Pygame - 显示模式
- Pygame - Locals 模块
- Pygame - 颜色对象
- Pygame - 事件对象
- Pygame - 键盘事件
- Pygame - 鼠标事件
- Pygame - 绘制形状
- Pygame - 加载图像
- Pygame - 在窗口中显示文本
- Pygame - 移动图像
- Pygame - 使用数字键盘移动
- Pygame - 使用鼠标移动
- Pygame - 移动矩形对象
- Pygame - 使用文本作为按钮
- Pygame - 转换图像
- Pygame - 音频对象
- Pygame - 混音器通道
- Pygame - 播放音乐
- Pygame - 播放视频
- Pygame - 使用摄像头模块
- Pygame - 加载光标
- Pygame - 访问 CDROM
- Pygame - Sprite 模块
- Pygame - PyOpenGL
- Pygame - 错误和异常
- Pygame 有用资源
- Pygame - 快速指南
- Pygame - 有用资源
- Pygame - 讨论
Pygame - 鼠标事件
Pygame 识别三种鼠标事件,分别是 MOUSEMOTION、MOUSEBUTTONUP 和 MOUSEBUTTONDOWN。相应的事件对象返回鼠标按下/释放时位置的坐标和按钮编号。
例如,MOUSEBUTTONDOWN 事件对象将显示以下结果:
<Event(1025-MouseButtonDown {'pos': (398, 328), 'button': 1, 'window': None})>
示例
要获取按钮按下位置的坐标,我们可以使用与事件对象关联的 get_pos() 函数。
import pygame, sys pygame.init() screen = pygame.display.set_mode((640, 480)) pygame.display.set_caption("Hello World") while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if event.type == pygame.MOUSEBUTTONDOWN: pos=pygame.mouse.get_pos() btn=pygame.mouse print ("x = {}, y = {}".format(pos[0], pos[1]))
输出
运行以上代码,并在游戏窗口的随机位置按下鼠标按钮。
x = 192, y = 160 x = 419, y = 245 x = 204, y = 405 x = 449, y = 17 x = 12, y = 15
MOUSEMOTION 事件对象捕获移动鼠标位置的瞬时位置。
if event.type == pygame.MOUSEMOTION: pos=event.pos print ("x = {}, y = {}".format(pos[0], pos[1]))
pygame.mouse 模块中其他重要的函数和属性如下:
pygame.key.get_pressed | 获取鼠标按钮的状态 |
pygame.mouse.get_pos | 获取鼠标光标位置 |
pygame.mouse.get_rel | 获取鼠标移动量 |
pygame.mouse.set_pos | 设置鼠标光标位置 |
pygame.mouse.set_visible | 隐藏或显示鼠标光标 |
pygame.mouse.get_visible | 获取鼠标光标的当前可见性状态 |
pygame.mouse.get_focused | 检查显示器是否正在接收鼠标输入 |
pygame.mouse.set_cursor | 设置鼠标光标的图像 |
pygame.mouse.set_system_cursor | 将鼠标光标设置为系统变体 |
Pygame 定义以下系统光标:
pygame.SYSTEM_CURSOR_ARROW | 箭头 |
pygame.SYSTEM_CURSOR_IBEAM | I 形光标 |
pygame.SYSTEM_CURSOR_WAIT | 等待 |
pygame.SYSTEM_CURSOR_CROSSHAIR | 十字准星 |
pygame.SYSTEM_CURSOR_SIZENWSE | 指向西北和东南的双箭头 |
pygame.SYSTEM_CURSOR_SIZENESW | 指向东北和西南的双箭头 |
pygame.SYSTEM_CURSOR_SIZEWE | 指向西和东的双箭头 |
pygame.SYSTEM_CURSOR_SIZENS | 指向北和南的双箭头 |
pygame.SYSTEM_CURSOR_SIZEALL | 四角箭头 |
pygame.SYSTEM_CURSOR_NO | 斜线圆圈或骷髅标志 |
pygame.SYSTEM_CURSOR_HAND | 手形 |
以下语句将游戏窗口光标设置为十字准星。
pygame.mouse.set_system_cursor(pygame.SYSTEM_CURSOR_CROSSHAIR)
广告