安裝
首先咱們須要安裝pygame,若是已經安裝好python和pip的,只須要在命令行工具中執行:python
pip install pygame
- 安裝好後咱們可使用import pygame來確認pygame有咩有裝成功。以下圖所示,這樣咱們就能夠知道pygame是安裝成功的啦,且它的版本是1.9.6。
Pygame經常使用模塊
模塊名 |
功能 |
pygame.cdrom |
訪問光驅 |
pygame.display |
訪問顯示設備 |
pygame.draw |
繪製形狀、線和點 |
pygame.cursors |
加載光標 |
pygame.event |
管理事件 |
pygame.font |
使用字體 |
pygame.image |
加載和存儲圖片 |
pygame.joystick |
使用遊戲手柄或者相似的東西 |
pygame.key |
讀取鍵盤按鍵 |
pygame.mixer |
聲音 |
pygame.mouse |
鼠標 |
pygame.movie |
播放視頻 |
pygame.music |
播放音頻 |
pygame.overlay |
訪問高級視頻疊加 |
pygame.rect |
管理矩形區域 |
pygame.scrap |
本地剪貼板訪問 |
pygame.sndarray |
操做聲音數據 |
pygame.sprite |
操做移動圖像 |
pygame.surface |
管理圖像和屏幕 |
pygame.surfarray |
管理點陣圖像數據 |
pygame.time |
管理時間和幀信息 |
pygame.transform |
縮放和移動圖像 |
cdrom模塊的經常使用方法
方法名 |
功能 |
pygame.cdrom.init() |
初始化 cdrom 模塊,該方法將掃描系統內全部的 CD 設備 |
pygame.cdrom.quit() |
還原 cdrom 模塊,在調用該方法後,現存的任何 CD 對象都將中止工做 |
pygame.cdrom.get_init() |
若是 cdrom 模塊初始化完成,則返回 true,不然返回 false |
pygame.cdrom.get_count() |
返回系統中 cd 驅動器的個數 |
display模塊的經常使用方法
方法名 |
功能 |
pygame.display.init() |
初始化display模塊 |
pygame.display.quit() |
結束display模塊 |
pygame.display.get_init() |
若是display模塊已經被初始化,則返回True |
pygame.display.set_mode() |
初始化一個準備顯示的界面 |
pygame.display.get_surface() |
獲取當前的Surface對象 |
pygame.display.flip() |
更新整個待顯示的Surface對象到屏幕上 |
pygame.display.update() |
更新部份內容顯示到屏幕上,若是沒有參數,則與flip功能相同(上一條) |
draw繪圖
方法名 |
功能 |
pygame.draw.rect(surface,color,Rect,width=0) |
繪製一個矩形框 |
pygame.draw.polygon(surface,color,pointlist,width=0) |
繪製一個多邊形 |
pygame.draw.circle(surface,color,pos,radius,width=0) |
繪製一個圓 |
pygame.draw.ellipse(surface,color,Rect,width=0) |
繪製一個橢圓 |
pygame.draw.arc(surface,color,Rect,start_angle,stop_angle,width=1) |
繪製一條弧線 |
pygame.draw.line(surface,color,start_pos,end_pos,width=1) |
繪製一條線段 |
pygame.draw.lines(surface,color,closed,pointlist,width=1) |
繪製一條折線 |
pygame.draw.aaline(surface,color,start_pos,end_pos,width=1) |
繪製一根平滑的線 |
pygame.draw.aalines(surface,color,closed,pointlist,width=1) |
一系列平滑的線 |
cursors加載光標
方法名 |
功能 |
pygame.cursors.compile() |
由純字符串建立二進制光標數據 |
pygame.cursors.load_xbm() |
由一個xbm 文件載入光標數據 |
event事件
方法名 |
功能 |
pygame.event.get() |
獲取事件的返回值,使用event.type進行區分 |
pygame.event.wait() |
等待發生一個事件纔會繼續下去 |
pygame.event.poll() |
會根據如今的情形返回一個真實的事件 |
pygame.event.set_blocked(事件名) |
過濾 |
pygame.event.set_allowed() |
容許事件 |
繪製文字
pygame.font.Font(filename, size)
返回一個特定字體對象,可以使用該特定字體去定義文本工具
- filename:字體文件的文件名。若是file參數設置爲None則默認採用系統自帶字體,若是自帶字體文件沒法打開就會報錯。
- size:字體的高height,單位爲像素;
pygame.font.Font.render(text, antialias, color, background=None)
返回一個surface對象(字體的渲染成的圖像)字體
- text:要顯示的文字;
- antialias: 爲True時文本圖像顯示更光滑,爲False時文本圖像顯示有鋸齒狀;
- color:字體顏色;
- background:背景顏色(可選參數),默認爲小黑屏;
image圖像
方法名 |
功能 |
pygame.image.load() |
從文件加載新圖片 |
pygame.image.save() |
將圖像保存到磁盤上 |
pygame.image.get_extended() |
檢測是否支持載入擴展的圖像格式 |
pygame.image.tostring() |
將圖像轉換爲字符串描述 |
pygame.image.fromstring() |
將字符串描述轉換爲圖像 |
pygame.image.frombuffer() |
建立一個與字符串描述共享數據的 Surface 對象 |
mouse鼠標
方法名 |
功能 |
pygame.mouse.get_pressed() |
獲取鼠標按鈕的狀態 |
pygame.mouse.get_pos() |
獲取鼠標光標位置 |
pygame.mouse.get_rel() |
獲取鼠標移動的數量 |
pygame.mouse.set_pos() |
設置鼠標光標位置 |
pygame.mouse.set_visible() |
隱藏或顯示鼠標光標 |
pygame.mouse.get_focused() |
檢查顯示是否接收了鼠標輸入 |
pygame.mouse.set_cursor() |
爲系統鼠標光標設置圖像 |
mixer播放音頻
方法名 |
功能 |
pygame.mixer.music.load() |
載入一個音樂文件用於播放 |
pygame.mixer.music.play() |
開始播放音樂流 |
pygame.mixer.music.rewind() |
從新開始播放音樂 |
pygame.mixer.music.stop() |
結束音樂播放 |
pygame.mixer.music.pause() |
暫停音樂播放 |
pygame.mixer.music.unpause() |
恢復音樂播放 |
pygame.mixer.music.fadeout() |
淡出的效果結束音樂播放 |
pygame.mixer.music.set_volume() |
設置音量 |
pygame.mixer.music.get_volume() |
獲取音量 |
pygame.mixer.music.get_busy() |
檢查是否正在播放音樂 |
pygame.mixer.music.set_pos() |
設置播放的位置 |
pygame.mixer.music.get_pos() |
獲取播放的位置 |
pygame.mixer.music.queue() |
將一個音樂文件放入隊列中,並排在當前播放的音樂以後 |
pygame.mixer.music.set_endevent() |
當播放結束時發出一個事件 |
pygame.mixer.music.get_endevent() |
獲取播放結束時發送的事件 |
Surface對象的經常使用方法
方法名 |
功能 |
pygame.Surface.blit() |
將一個圖像畫到另外一個圖像上 |
pygame.Surface.convert() |
轉換圖像的像素格式 |
pygame.Surface.convert_alpha() |
轉化圖像的像素格式,包含alpha通道的轉換 |
pygame.Surface.fill() |
使用顏色填充Surface |
pygame.Surface.get_rect() |
獲取Surface的矩形區域 |
time時間
方法名 |
功能 |
pygame.time.get_ticks() |
獲取以毫秒爲單位的時間 |
pygame.time.wait() |
暫停程序一段時間 |
pygame.time.delay() |
暫停程序一段時間 |
pygame.time.set_timer() |
在事件隊列上重複建立一個事件 |
pygame.time.Clock() |
建立一個對象來幫助跟蹤時間 |
transform縮放和移動圖像
方法名 |
功能 |
pygame.transform.flip |
垂直和水平翻轉 |
pygame.transform.scale |
調整大小到新的分辨率 |
pygame.transform.rotate |
旋轉圖像 |
pygame.transform.rotozoom |
過濾的比例和旋轉 |
pygame.transform.scale2x |
專業圖像倍增器 |
pygame.transform.smoothscale |
將表面平滑地縮放到任意大小 |
pygame.transform.chop |
獲取內部區域已刪除的圖像副本 |
pygame.transform.laplacian |
找到表面中的邊緣 |
pygame.transform.average_surfaces |
從許多表面找到平均表面 |
pygame.transform.average_color |
找到曲面的平均顏色 |
pygame.transform.threshold |
查找表面中的哪些像素和多少像素在'search_color'或'search_surf'的閾值內 |
Pygame裏經常使用的事件
事件 |
產生途徑 |
參數 |
QUIT |
用戶按下關閉按鈕 |
none |
ACTIVEEVENT |
Pygame被激活或者隱藏 |
gain, state |
KEYDOWN |
鍵盤被按下 |
unicode, key, mod |
KEYUP |
鍵盤被放開 |
key, mod |
MOUSEMOTION |
鼠標移動 |
pos, rel, buttons |
MOUSEBUTTONDOWN |
鼠標按下 |
pos, button |
MOUSEBUTTONUP |
鼠標放開 |
pos, button |
VIDEORESIZE |
Pygame窗口縮放 |
size, w, h |