一、介紹
pygame是Pygame最頂層的包
二懒震、函數(shù)&屬性
選項(xiàng) | 含義 |
---|---|
pygame.init() | 初始化所有導(dǎo)入的 pygame 模塊 |
pygame.quit() | 卸載所有導(dǎo)入的 pygame 模塊 |
pygame.error() | 標(biāo)準(zhǔn) pygame 異常模塊 |
pygame.get_error() | 獲得當(dāng)前錯(cuò)誤信息 |
pygame.set_error() | 設(shè)置當(dāng)前錯(cuò)誤信息 |
pygame.get_sdl_version() | 獲得 SDL 的版本號(hào) |
pygame.get_sdl_byteorder() | 獲得 SDL 的字節(jié)順序 |
pygame.register_quit() | 注冊(cè)一個(gè)函數(shù)卡骂,這個(gè)函數(shù)將在 pygame 退出時(shí)被調(diào)用 |
pygame.encode_string() | 對(duì) unicode 或字節(jié)對(duì)象編碼 |
pygame.encode_file_path() | 將 unicode 或字節(jié)對(duì)象編碼為文件系統(tǒng)路徑 |
為了方便兢榨,在 pygame
中絕大多數(shù)的頂級(jí)變量被放入名為pygame.locals
的模塊中若债〕淇樱可以使用以下方法來(lái)導(dǎo)入蒂秘,這樣可以直接進(jìn)行使用而不需要加上pygame.
:
import pygame
from pygame.locals import *
當(dāng)你導(dǎo)入pygame
后泽本,所有可用的pygame
子模塊都將自動(dòng)被導(dǎo)入。需要注意的是姻僧,一些pygame
模塊是“可選的”规丽,并且可能無(wú)法使用。以防萬(wàn)一撇贺,Pygame
將提供了一個(gè)占位符對(duì)象替代原來(lái)的模塊赌莺,這個(gè)對(duì)象可用來(lái)測(cè)試某些功能(變量)是否可用。
三松嘶、函數(shù)詳解
pygame.init()
用于初始化所有導(dǎo)入的 pygame
模塊雄嚣。
init() -> (numpass, numfail)
初始化所有導(dǎo)入的pygame
模塊,如果有模塊導(dǎo)入失敗也不會(huì)顯示異常,但是將返回一個(gè)元組缓升,第一個(gè)元素為成功導(dǎo)入的模塊數(shù)鼓鲁,第二個(gè)元素為導(dǎo)入失敗的個(gè)數(shù)。
也許你想分開(kāi)初始化不同的模塊港谊,以提高你程序的運(yùn)行速度骇吭,或者不加載暫時(shí)用不到的模塊。
重復(fù)調(diào)用 init()
方法是沒(méi)問(wèn)題的歧寺,也不會(huì)有任何負(fù)面影響燥狰。即使你已經(jīng)調(diào)用了 pygame.quit()
卸載所有模塊也是可以的。
pygame.quit()
卸載所有導(dǎo)入的 pygame
模塊斜筐。
quit() -> None
卸載所有之前被初始化的 pygame
模塊龙致。當(dāng) python 解釋器關(guān)閉時(shí),這個(gè)方法將被無(wú)條件地調(diào)用顷链,所以你的程序并不需要調(diào)用這個(gè)方法目代,除非你想要終止 pygame 資源,并繼續(xù)執(zhí)行其他功能嗤练。多次執(zhí)行這個(gè)方法也是沒(méi)有問(wèn)題的榛了。
注意:調(diào)用這個(gè)方法 pygame.quit()
會(huì)結(jié)束所有模塊,但不會(huì)結(jié)束你的程序煞抬。建議用正常結(jié)束 python 程序的方法來(lái)結(jié)束 pygame 程序霜大。比如:
sys.exit()
exception pygame.error
標(biāo)準(zhǔn)的 pygame
異常。
raise pygame.error(message)
當(dāng) pygame
或 SDL
操作失敗時(shí)革答,將會(huì)引發(fā)異常战坤。你可以捕獲任何可預(yù)見(jiàn)的問(wèn)題并處理異常。報(bào)告異常時(shí)残拐,會(huì)同時(shí)顯示問(wèn)題的描述信息途茫。
它是 RuntimeError
異常的子類,用于捕獲這些異常蹦骑。
pygame.get_error()
得到當(dāng)前錯(cuò)誤信息慈省。
get_error() -> errorstr
獲取 SDL
維護(hù)的一個(gè)內(nèi)部錯(cuò)誤消息。當(dāng)標(biāo)準(zhǔn) pygame.error()
標(biāo)準(zhǔn)pygame
異常引發(fā)時(shí)眠菇,這些信息將會(huì)提供給你边败。
其實(shí)你很少會(huì)使用到這個(gè)方法的啦。
pygame.set_error()
設(shè)置當(dāng)前錯(cuò)誤信息捎废。
set_error(error_msg) -> None
設(shè)置 SDL
維護(hù)的一個(gè)內(nèi)部錯(cuò)誤消息笑窜。當(dāng)標(biāo)準(zhǔn)pygame.error()
標(biāo)準(zhǔn) pygame
異常引發(fā)時(shí),這些信息將會(huì)提供給你登疗。
其實(shí)你很少會(huì)使用到這個(gè)方法的啦排截。
pygame.get_sdl_version()
獲得 SDL 的版本號(hào)嫌蚤。
get_sdl_version() -> major, minor, patch
返回 SDL
庫(kù)有關(guān)版本的 3 個(gè)數(shù)字。這個(gè)版本是在編譯時(shí)生成的断傲。這個(gè)方法可用來(lái)得知哪個(gè)元件是不能正常使用的脱吱。
Pygame 1.7.0 新添加的方法。
pygame.get_sdl_byteorder()
獲得 SDL
的字節(jié)順序认罩。
get_sdl_byteorder() -> int
獲得 SDL
庫(kù)的字節(jié)順序箱蝠。返回LIL_ENDIAN
表示小端字節(jié)順序;返回 BIG_ENDIAN
表示大端字節(jié)順序垦垂。
Pygame 1.8 新添加的方法宦搬。
pygame.register_quit()
注冊(cè)一個(gè)函數(shù),這個(gè)函數(shù)將在 pygame
退出時(shí)被調(diào)用劫拗。
register_quit(callable) -> None
當(dāng)調(diào)用 pygame.quit()
結(jié)束所有模塊時(shí)间校,所有通過(guò)register_quit()
方法注冊(cè)過(guò)的函數(shù)將被調(diào)用。這一切都是自動(dòng)執(zhí)行的页慷。
一般的pygame
用戶用不到這個(gè)方法憔足。
pygame.encode_string()
對(duì) unicode
或字節(jié)對(duì)象進(jìn)行編碼。
encode_string([obj [, encoding [, errors [, etype]]]]) -> bytes or None
obj:
傳入 unicode
類型 -> 編碼
傳入bytes
類型 -> 不變
傳入其他類型 -> 返回None
沒(méi)有傳遞 obj
參數(shù) -> 引起 SyntaxError
異常
encoding (string)
:如果存在則進(jìn)行編碼差购,默認(rèn)是 unicode_escape
四瘫。
errors (string)
:指定如何處理無(wú)法編碼的內(nèi)容汉嗽,默認(rèn)使用反斜杠\
代替欲逃。
etype (exception type)
:指定編碼錯(cuò)誤引發(fā)的異常類型。默認(rèn)為 UnicodeEncodeError
饼暑,由PyUnicode_AsEncodedString()
返回稳析。對(duì)于默認(rèn)的編碼和錯(cuò)誤值不應(yīng)該有編碼錯(cuò)誤。
這個(gè)函數(shù)被用于編碼文件路徑的時(shí)候弓叛,支持使用關(guān)鍵字參數(shù)彰居。
Pygame 1.9.2 新增加的方法(主要用于單元測(cè)試)。
pygame.encode_file_path()
將 unicode
或 bytes
對(duì)象編碼為文件系統(tǒng)路徑撰筷。
encode_file_path([obj [, etype]]) -> bytes or None
obj:
傳入 unicode
類型 -> 編碼
傳入bytes
類型 -> 不變
傳入其他類型 -> 返回 None
沒(méi)有傳遞obj
參數(shù) -> 引起 SyntaxError
異常
etype
(異常類型):若給出陈惰,則出現(xiàn)異常時(shí)報(bào)相應(yīng)編碼錯(cuò)誤,默認(rèn)為 UnicodeEncodeError
毕籽,由 PyUnicode_AsEncodedString()
返回抬闯。
這個(gè)函數(shù)被用于編碼文件路徑的時(shí)候,結(jié)果由 sys.getfilesystemencoding()
返回关筒,支持使用關(guān)鍵字參數(shù)溶握。
Pygame 1.9.2 新增加的方法(主要用于單元測(cè)試)。