[TOC]
# **pygame**
Pygame 最頂層的包。
## **函數 & 屬性**
* pygame.init() — 初始化所有導入的 pygame 模塊
* pygame.quit() — 卸載所有導入的 pygame 模塊
* pygame.error() — 標準 pygame 異常模塊
* pygame.get\_error() — 獲得當前錯誤信息
* pygame.set\_error() — 設置當前錯誤信息
* pygame.get\_sdl\_version() — 獲得 SDL 的版本號
* pygame.get\_sdl\_byteorder() — 獲得 SDL 的字節順序
* pygame.register\_quit() — 注冊一個函數,這個函數將在 pygame 退出時被調用
* pygame.encode\_string() — 對 unicode 或字節對象編碼
* pygame.encode\_file\_path() — 將 unicode 或字節對象編碼為文件系統路徑
pygame 包是可供使用的最頂層的包。Pygame 被分成許多子模塊,但是并不會影響程序使用 Pygame。
為了方便,在 pygame 中絕大多數的頂級變量被放入名為“pygame.locals”的模塊中。意思是說這些變量可通過以下方式導入:
~~~
import pygame
from pygame.locals import *
~~~
當你導入 pygame 后,所有可用的 pygame 子模塊都將自動被導入。需要注意的是,一些 pygame 模塊是“可選的”,并且可能無法使用。以防萬一,Pygame 將提供了一個占位符對象替代原來的模塊,這個對象可用來測試某些功能(變量)是否可用。
## **函數 & 屬性詳解**
### **pygame.init()**
初始化所有導入的 pygame 模塊。
init() -> (numpass, numfail)
初始化所有導入的 pygame 模塊,如果有模塊導入失敗也不會顯示異常,但是將返回一個元組,第一個元素為成功導入的模塊數,第二個元素為導入失敗的個數。
也許你想分開初始化不同的模塊,以提高你程序的運行速度,或者不加載暫時用不到的模塊。
重復調用 init() 方法是沒問題的,也不會有任何負面影響。即使你已經調用了 pygame.quit() 卸載所有模塊也是可以的。
### **pygame.quit()**
卸載所有導入的 pygame 模塊。
quit() -> None
卸載所有之前被初始化的 pygame 模塊。當 python 解釋器關閉時,這個方法將被無條件地調用,所以你的程序并不需要調用這個方法,除非你想要終止 pygame 資源,并繼續執行其他功能。多次執行這個方法也是沒有問題的。
注意:調用這個方法 pygame.quit() 會結束所有模塊,但不會結束你的程序。建議用正常結束 python 程序的方法來結束 pygame 程序。
### **exception pygame.error**
標準的 pygame 異常。
raise pygame.error(message)
當 pygame 或 SDL 操作失敗時,將會引發異常。你可以捕獲任何可預見的問題并處理異常。報告異常時,會同時顯示問題的描述信息。
它是 RuntimeError 異常的子類,用于捕獲這些異常。
### **pygame.get\_error()**
得到當前錯誤信息。
get\_error() -> errorstr
獲取 SDL 維護的一個內部錯誤消息。當標準 pygame.error() 標準 pygame 異常引發時,這些信息將會提供給你。
其實你很少會使用到這個方法的啦。
### **pygame.set\_error()**
設置當前錯誤信息。
set\_error(error\_msg) -> None
設置 SDL 維護的一個內部錯誤消息。當標準 pygame.error() 標準 pygame 異常引發時,這些信息將會提供給你。
其實你很少會使用到這個方法的啦。
### **pygame.get\_sdl\_version()**
獲得 SDL 的版本號。
get\_sdl\_version() -> major, minor, patch
返回 SDL 庫有關版本的 3 個數字。這個版本是在編譯時生成的。這個方法可用來得知哪個元件是不能正常使用的。
Pygame 1.7.0 新添加的方法。
### **pygame.get\_sdl\_byteorder()**
獲得 SDL 的字節順序。
get\_sdl\_byteorder() -> int
獲得 SDL 庫的字節順序。返回 LIL\_ENDIAN 表示小端字節順序;返回 BIG\_ENDIAN 表示大端字節順序。
Pygame 1.8 新添加的方法。
### **pygame.register\_quit()**
注冊一個函數,這個函數將在 pygame 退出時被調用。
register\_quit(callable) -> None
當調用 pygame.quit() 結束所有模塊時,所有通過 register\_quit() 方法注冊過的函數將被調用。這一切都是自動執行的。
一般的 pygame 用戶用不到這個方法。
### **pygame.encode\_string()**
對 unicode 或字節對象進行編碼。
encode\_string(\[obj \[, encoding \[, errors \[, etype\]\]\]\]) -> bytes or None
obj:
* 傳入 unicode 類型 -> 編碼
* 傳入 bytes 類型 -> 不變
* 傳入其他類型 -> 返回 None
* 沒有傳遞 obj 參數 -> 引起 SyntaxError 異常
encoding (string):如果存在則進行編碼,默認是 unicode\_escape。
errors (string):指定如何處理無法編碼的內容,默認使用反斜杠(\\)代替。
etype (exception type):指定編碼錯誤引發的異常類型。默認為 UnicodeEncodeError,由 PyUnicode\_AsEncodedString() 返回。對于默認的編碼和錯誤值不應該有編碼錯誤。
這個函數被用于編碼文件路徑的時候,支持使用關鍵字參數。
Pygame 1.9.2 新增加的方法(主要用于單元測試)。
### **pygame.encode\_file\_path()**
將 unicode 或 bytes 對象編碼為文件系統路徑。
encode\_file\_path(\[obj \[, etype\]\]) -> bytes or None
obj:
* 傳入 unicode 類型 -> 編碼
* 傳入 bytes 類型 -> 不變
* 傳入其他類型 -> 返回 None
* 沒有傳遞 obj 參數 -> 引起 SyntaxError 異常
etype(異常類型):若給出,則出現異常時報相應編碼錯誤,默認為 UnicodeEncodeError,由 PyUnicode\_AsEncodedString() 返回。
這個函數被用于編碼文件路徑的時候,結果由 sys.getfilesystemencoding() 返回,支持使用關鍵字參數。
Pygame 1.9.2 新增加的方法(主要用于單元測試)。
- 一、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