[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