[TOC]
# **pygame.cursors**
Pygame 中使用光标资源的模块。
## **函数**
* pygame.cursors.compile() —— 由纯字符串创建二进制光标数据
* pygame.cursors.load\_xbm() —— 由一个xbm 文件载入光标数据
Pygame 提供对系统硬件光标的控制,并且只支持白色和黑色光标格式。你可以通过使用 pygame.mouse 内的方法控制光标。
cursors 模块包含载入和解码各种光标格式的方法。这些方法允许你简便地将你的光标存储成扩展文件,或者直接作为编码后的 python 字符串存在。
这个模块包含若干个标准光标。pygame.mouse.set\_cursor() 方法能够接收若干个参数。所有的参数以单个元组的形式存储,你可以用如下方式调用此方法:
~~~
pygame.mouse.set_cursor(*pygame.cursors.arrow)
~~~
这个模块也包含了一些格式化字符串形式的光标。在你使用到这些光标之前,你需要把相应字符串传递给 pygame.cursors.compile() 方法。你可以参照如下示例来调用:
~~~
>>> cursor = pygame.cursors.compile(pygame.cursors.textmarker_strings)
>>> pygame.mouse.set_cursor(*cursor)
~~~
以下变量是可以被用作光标的位图:
* pygame.cursors.arrow
* pygame.cursors.diamond
* pygame.cursors.broken\_x
* pygame.cursors.tri\_left
* pygame.cursors.tri\_right
以下字符串可以通过 pygame.cursors.compile() 函数转换成光标位图:
* pygame.cursors.thickarrow\_strings
* pygame.cursors.sizer\_x\_strings
* pygame.cursors.sizer\_y\_strings
* pygame.cursors.sizer\_xy\_strings
## **函数详解**
### **pygame.cursors.compile()**
由纯字符串创建二进制光标数据。
compile(strings, black=’X’, white=’.’, xor=’o’) -> data, mask
一串连续的字符串可以被用于创建对应系统光标的二进制光标数据。返回值要和 pygame.mouse.set\_cursor() 所需要的参数格式相同。
如果你正在创建自己的光标字符串,你可使用任何值来代表白色和黑色像素。一些系统允许你根据系统颜色自己设置一种特殊的切换色,也被称为 xor 色。如果系统不支持 xor 光标,则光标颜色将会变为纯黑色。
字符串的长度必须全部相等,而且可以被 8 整除。一个光标字符串设定示例,如下所示:
~~~
thickarrow_strings = ( #sized 24x24
"XX ",
"XXX ",
"XXXX ",
"XX.XX ",
"XX..XX ",
"XX...XX ",
"XX....XX ",
"XX.....XX ",
"XX......XX ",
"XX.......XX ",
"XX........XX ",
"XX........XXX ",
"XX......XXXXX ",
"XX.XXX..XX ",
"XXXX XX..XX ",
"XX XX..XX ",
" XX..XX ",
" XX..XX ",
" XX..XX ",
" XXXX ",
" XX ",
" ",
" ",
" ")
~~~
### **pygame.cursors.load\_xbm()**
由一个xbm 文件载入光标数据。
load\_xbm(cursorfile) -> cursor\_args
load\_xbm(cursorfile, maskfile) -> cursor\_args
该方法将根据 XBM 文件的某一个简单子集载入光标。XBM 文件从传统上是被用于保存 UNIX 系统内光标,它们是被用于代表一些简单图像的 ASCII 码。
一些时候,白色和黑色值将会分开在两个独立的 XBM 文件中。你可以通过传递第二个 maskfile 参数将两个图像载入到同一个光标中。
Cursorfile 和 maskfile 参数可以是带有 readlines 方法的 filenames 或者 filelike 对象。
返回值 cursor\_args 可以被直接传递给 pygame.mouse.set\_cursor() 方法。
- 一、Python基础
- 1. 序言
- 1.1 Python简介
- 1.2 安装和使用IDE
- 1.3 语言特性和基础概念
- 2. 基本数据类型
- 2.2 字符串型
- 2.2.2 ASCII简介
- 2.2.4 字符串常用函数
- 3. 条件分支
- 3.3 闲聊条件判断和运算符优先级
- 10.正则表达式
- 【降龙十八章】Python小技巧
- 18.1 学习网址
- 18.2 PIP切换源
- 18.3 使用whl来安装
- 【工具优化】IDE优化技巧
- Anaconda
- Jupyter Notebook 的 Markdown 添加大纲
- Jupyter Notebook中图片缩放和居左
- Anaconda设置环境变量
- Pycharm
- PyCharm新建文档配置
- 设置字体和字号
- 设置主题和字体配色
- 保存和导入配置
- 设置对选择内容自动添加引号
- 推荐安装的插件
- Markdown
- 表格格式
- 二、Python进阶
- copy和deepcopy
- 《零基础入门学习 Python 》【小甲鱼版】
- 001.和Python的第一次接触+习题复习
- 002.用Python设计的第一个游戏 +习题复习
- Pygame详解
- Pygame详解:前言
- Pygame详解(一):Color类
- Pygame详解(二):display 模块
- Pygame详解(三):draw 模块
- Pygame详解(四):event 模块
- Pygame详解(五):font 模块
- Pygame详解(六):image 模块
- Pygame详解(七):key 模块
- Pygame详解(八):locals 模块
- Pygame详解(九):mixer 模块
- Pygame详解(十):mouse 模块
- Pygame详解(十一):Rect 对象
- Pygame详解(十二):Surface 对象
- Pygame详解(十三):time 模块
- Pygame详解(十四):music 模块
- Pygame详解(十五):pygame 模块
- Pygame详解(十六):cursors 模块
- Pygame详解(十七):joystick 模块
- Pygame详解(十八):mask 模块
- Pygame详解(二十一):BufferProxy 对象
- Pygame详解(二十三):gfxdraw 模块
- Pygame详解(二十五):Overlay 对象
- Pygame详解(二十八):sndarray 模块
- Pygame详解(三十一):camera 模块
- Pygame详解(三十二):cdrom 模块
- Pygame详解(三十六):version 模块
- pygame rect相关知识
- Tkinter详解
- Tkinter 组件详解(一):Label
- Tkinter 组件详解(二):Button