pygame.mouse

pygame中处理鼠标的模块

鼠标函数可以用来获取鼠标设备的当前状态。这些函数也可以用来改变系统鼠标指针。

当显示模式设置后,事件队列就会开始收到鼠标事件。当按下和释放鼠标的按键时,会产生pygame.MOUSEBUTTONDOWN和pygame.MOUSEBUTTONUP事件。这些事件包含一个button属性表示哪些键被按下。滚动鼠标滚轮会产生pygame.MOUSEBUTTONDOWN事件。当向上滚动滚轮时button的值是4,向下滚动时button的值是5。当移动鼠标时,会产生pygame.MOUSEMOTION事件。鼠标移动事件会被分解成一组较小的精确的移动事件。当鼠标移动时,会有很多事件被放在队列中。鼠标移动事件没有被正确的清除,常常是事件队列被填满的主要原因。

如果鼠标指针被隐藏,输入被当前的display捕获,鼠标会进入虚拟输入模式,这种模式下鼠标的相对位移不会收到屏幕边界的影响。参看pygame.mouse.set_visible和pygame.event.set_grab函数来实现这样的模式。

pygame.mouse.get_pressed

获取鼠标按键的状态

pygame.moouse.get_pressed(): return (button1, button2, button3)

返回一个布尔值的列表,包含所有鼠标按键的状态。True表示在函数调用时鼠标按键被按下了。

注意,要获取所有鼠标事件,最好使用pygame.event.wait()或者pygame.event.get()函数并检查所有的MOUSEBUTTONDOWN、MOUSEBUTTONUP、MOUSEMOTION事件。

注意,在X11上某些XServer使用中键模拟功能,当你同时按下按键1和按键3时,会发生一个按键2事件。

注意,记得在调用这个函数前调用pygame.event.get。否则他不会工作。

pygame.mouse.get_pos

获取鼠标指针的位置

pygame.mouse.get_pos(): return (x, y)

返回x和y表示鼠标指针的位置。这个位置是相对于display的左上角的位置。指针位置可以在display窗口的外面,但是总是在屏幕内部。

pygame.mouse.get_rel

获得鼠标指针的位移

pygame.mouse.get_rel(): return (x, y)

返回前一次调用这次函数到这次调用鼠标移动的x和y值。鼠标指针的相对位移被限制在屏幕边缘的内部,但是虚拟输入鼠标模式可以突破这个限制。

pygame.mouse.set_pos

设置鼠标指针的位置

pygame.mouse.set_pos([x, y]): return None

设置当前鼠标位置为给定的值。如果鼠标指针是可见的,它会跳到新的坐标位置。移动鼠标会产生新的pygame.MOUSEMOTION事件。

pygame.mouse.set_visible

隐藏或者显示鼠标指针

pygame.mouse.set_visible(bool): return bool

如果参数是True,则鼠标指针会显示出来。这个函数会返回以前的鼠标指针可见状态。

pygame.mouse.get_focused

检查display是否取得了鼠标输入焦点

pygame.mouse.get_focused(): return bool

如果pygame在接受鼠标输入(或者用窗口系统的说法,是激活的或者是获得焦点的)时则返回True。

这个函数对于在窗口中工作非常有用。相比之下,在全屏模式下,这个函数总是返回True。

注意,在MS Windows中,具有鼠标输入焦点的窗口同样有键盘输入焦点。但在X-Window中,可以一个窗口接受鼠标输入事件而同时另一个窗口接受键盘事件。pygame.mouse.get_focused判断pygame的窗口是否接受鼠标输入事件。

pygame.mouse.set_cursor

设置系统鼠标指针的图像

pygame.mouse.set_cursor(size, hotspot, xormasks, andmasks): return None

当鼠标指针可见时,它会显示为给定的位域数组指定的黑白色的位图。size是包含指针高度和宽度的列表。hotspot是表示指针的热点位置的列表。xormasks是序列包含指针异或数据位域的序列,andmask是一组包含指针位域数据的序列。

宽度必须是8的倍数,位域数组必须是size给定的正确的大小。否则会抛出一个异常。

参看pygame.cursor模块查看更多创建默认和自定义系统指针的信息。

pygame.mouse.get_cursor

获取系统鼠标指针的图像

pygame.mouse.get_cursor(): return (size, hotspot, xormasks, andmasks)

获得有关鼠标系统指针的信息。返回值和传给pygame.mouse.set_cursor的参数一样。

The end

pygame.mouse (last edited 2008-02-23 15:34:18 by localhost)

ch3n2k.com | Copyright (c) 2008 czk. 浙ICP备06000584号