pygame 會用這些函數就夠了
借鑑了pygame的官方文檔和一些中譯版,對於我們實際寫代碼時較常用的一些函數和方法進行了整理
前15個可以說是較爲常用的函數,後面的由於不太常用就有所省略。
本文檔只是作爲參考,具體使用還請參照官方文檔。如果整理的哪裏有問題還希望大家指正。這裏可以移步個人博客
- pygame.sprite:基本遊戲對象
- pygame,event:處理事件
- pygame.key:鍵盤按鍵
- pygame:頂層模塊
- pygame.time:時間模塊
- pygame.diaplay:控制窗口顯示
- pygame.Rect:圖像矩形模塊
- pygame.Color:顏色模塊
- pygame.image:圖片模塊
- pygame.Surface:表示圖像
- pygame.mixer:聲音模塊
- pygame.draw:繪製圖像
- pygame.font:字體模塊
- pygame.mixer.music:音樂模塊
- pygame.mouse:鼠標移動
- pygame.BufferProxy:緩衝對象
- pygame.cdrom:音頻光盤
- pygame.PixelArray:像素數組
- pygame.cursor:鼠標光標
- pygame.scrap:剪切板
- pygame.andarray:音頻採樣
- pygame.transform:改變形態
- pygame.tests:測試模塊
- pygame.freetype:計算機字體
- pygame.joystick:外接設備
- pygame.locals:常量定義
- pygame.surfarray:訪問像素
- pygame.Overlay:圖像疊加
1. pygame.sprite
該類是pygame中處理基本遊戲對象類的模塊
pygame.sprite.Sprite
:可見遊戲對象的簡單基類pygame.sprite.Sprite.update
:更新狀態pygame.sprite.Sprite.add
:加到組中pygame.sprite.Sprite.remove
:從組中刪除pygame.sprite.Sprite.kill
:從所有組中刪除pygame.sprite.Sprite.groups
:包含此Sprite的組列表
pygame.sprite.DirtySprite
:具有更多屬性和功能的Sprite的子類pygame.sprite.Group
:保存和管理多個Sprite對象的容器類pygame.sprite.Group.copy
:複製組pygame.sprite.Group.add
:添加到該組pygame.sprite.Group.remove
:從組中刪除pygame.sprite.Group.has
:檢測是否包含pygame.sprite.Group.update
:更新狀態pygame.sprite.Group.draw
:繪製圖像pygame.sprite.Group.empty
:刪除所有
pygame.sprite.collide_rect
:使用rects檢測兩個sprite之間的碰撞pygame.sprite.collode_rect_ratio
:使用按比例縮放的rects檢測碰撞pygame.sprite.collide_circle
:使用圓來檢測碰撞pygame.sprite.collide_circle_ratio
:使用按比例縮放的圓檢測pygame.sprite.collide_mask
:使用蒙版檢測碰撞
2. pygame.event
該類是pygame中處理事件與事件隊列的模塊
pygame.event.pump
:讓其內部自動處理事件pygame.event.get
:從隊列中獲取事件pygame.event.poll
:從隊列中獲取一個事件pygame.event.wait
:等待並從隊列中獲取一個事件pygame.event.peek
:檢測某個類型事件是否在隊列中pygame.event.clear
:從隊列中刪除所有事件pygame.event.set_allowed
:控制哪些事件禁止進入隊列pygame.event.set_blocked
:控制哪些事件允許進入隊列pygame.event.post
:放置一個新事件進入隊列pygame.event.Event
:創建一個新的事件對象- 事件種類:
- QUIT:退出
- KEYDOWN:按下按鍵
- KEYUP:鬆開按鍵
- MOUSEMOTION:鼠標移動
- 其他遊戲杆、遊戲手柄、追蹤球事件
- 支持自定義事件
3. pygame.key
該類是pygame處理與鍵盤有關的模塊
pygame.key.get_focused
:窗口獲得鍵盤輸入焦點返回Truepygame.key.get_pressed
:獲取鍵盤所有按鍵的狀態- key屬性:pygame預定義的鍵盤上的鍵位
- mod屬性:pygame預定義的組合鍵
4. pygame
該類爲最頂層的模塊
pygame.init
:初始化導入所有pygame模塊pygame.quit
:卸載所有導入的模塊
5. pygame.time
該類是pygame中用於時間管理模塊
pygame.time.get_ticks
:以毫秒爲單位獲取時間pygame.time.wait
:暫停程序一段時間pygame.time.delay
:暫停程序一段時間pygame.time.Colck
:創建一個對象來幫助或更新時間pygame.time.Clock.tick
:更新clock對象
6. pygame.display
該類是pygame中用於控制窗口和屏幕顯示的模塊
pygame.display.init
:初始化模塊pygame.display.quit
:取消初始化pygame.display.get_init
:判斷是否初始化成功pygame.display.set_mode
:初始化一個準備顯示的窗口或者屏幕pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
- resolution:傳入屏幕的長寬,若爲 0 則默認當前屏幕分辨率
- flags:控制顯示類型 可以多種類型用管道符 ‘ | ’ 組合
- pygame.FULLSCREEN 創建一個全屏顯示
- pygame.DOUBLEBUF 雙緩衝模式
- pygame.HWSURFACE 硬件加速,僅在FULLSCREEN下可以使用
- pygame.RESIZABLE 創建一個可調整尺寸的窗口
- pygame.NOFRAME 創建一個沒有邊框和控制按鈕的窗口
- depth:深度參數,一般不傳值
pygame.display.get_surface
:獲取當前顯示的 Surface 對象pygame.display.flip
:將完整待顯示的 Surface 對象更新到屏幕上pygame.display.update
:更新部分軟件界面顯示pygame.display.iconify
:最小化顯示 Surface 對象pygame.display.toggle_fullscreen
:切換全屏顯示和窗口顯示pygame.display.set_icon
:更改顯示窗口的系統頭像pygame.display.set_caption
:設置當前窗口標題pygame.display.get_caption
:獲取當前窗口標題
7. pygame.Rect
該類是pygame中直接操作對象外界矩形的模塊
pygame.Rect
:創建矩形對象pygame.Rect(left, top, width, height)
:根據左上角座標和長寬創建矩形pygame.Rect((left, top), (width, height))
:根據左上角座標和長寬創建矩形- 該對象具有用來移動和對齊的參數
- x, y
- top, left, bottom, right
- topleft, bottomleft, topright, bottomright
- midtop, midleft, midbottom, midright
- center, centerx, centery
- size, width, height
- w,h
pygame.Rect.copy
:複製矩形pygame.Rect.move
:移動矩形pygame.Rect.move(x, y)
:傳入偏移量
pygame.Rect.contains
:測試一個矩形是否在另一個矩形內部,傳入矩形對象pygame.Rect.collidepoint
:測試一個點是否在矩形內pygame.Rect.colliderect
:測試兩個矩形是否重疊
8. pygame.Color
該類是pygame中用於描述顏色的模塊
pygame.Color
:返回一個顏色- Color(name):傳入名稱
- Color(r, g, b, a):傳入rgba參數
- Color(rgbvalue):傳入rgb參數
pygame.Color.r
:獲取或設置其紅色值pygame.Color.g
:獲取或設置其綠色值pygame.Color.b
:獲取或設置其藍色值pygame.Color.a
:獲取或設置其alpha通道值pygame.Color.cmy
:獲取或設置其 cmy (青、洋紅和黃) 值pygame.Color.normalize
:返回標準化 RGBA 值
9. pygame.image
該類是pygame中處理圖像傳輸的模塊
pygame.image.load
:從文件中加載新圖像- 傳入文件路徑和名稱
- 支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式
pygame.image.save
:將圖像保存到本地- 傳入 Surface 對象和路徑
- 支持BMP、TGA、PNG、JPEG格式
10. pygame.Surface
該類是pygame中用於表示圖像的模塊
pygame.Surface
:創建對象pygame.Surface((width, height), flags=0, depth=0, masks=None)
pygame.Surface((width, height), flags=0, Surface)
pygame.Surface.blit
:將一個圖像繪製到另一個上方pygame.Surface.convert
:修改像素格式pygame.Surface.copy
:拷貝對象pygame.Surface.fill
:使用純色填充對象pygame.Surface.scroll
:移動對象
11. pygame.mixer
該類是pygame中用來加載和播放聲音的模塊,默認有8個聲道
pygame.mixer.init
:初始化模塊pygame.mixer.stop
:停止播放所有聲道pygame.mixer.pause
:暫停播放所有聲道pygame.mixer.unpause
:恢復暫停播放所有聲道pygame.mixer.fadeout
:停止前淡出所有聲音- 傳入時間參數,設置淡出時間
12. pygame.draw
該類是pygame中用於繪製圖形的模塊
pygame.draw.rect
:繪製矩形pygame.draw.rect(Surface, color, Rect, width=0)
- Surface:繪製在 Surface 對象上
- color:傳入 RGB 三元組或 RGBA 四元組
- width:指定邊框寬度,0 表示填充該矩形
pygame.draw.polygon
:繪製多邊形pygame.draw.polygon(Surface, color, pointlist, width=0)
- pointlist:指定多邊形的各個頂點
pygame.draw.circle
:繪製圓形pygame.draw.circle(Surface, color, pos, radius, width=0)
- pos:圓心位置
- radius:半徑
pygame.draw.ellipse
:繪製橢圓pygame.draw.ellipse(Surface, color, Rect, width=0)
- Rect:橢圓外切矩形
pygame.draw.arc
:繪製弧線pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)
- Rect:弧線所在橢圓外切矩形
- angle:弧線開始和結束位置
pygame.draw.line
:繪製線段pygame.draw.line(Surface, color, start_pos, end_pos, width=1)
pygame.draw.lines
:繪製多條線段pygame.draw.lines(Surface, color, closed, pointlist, width=1)
- pointlist:一系列點
- closed:若爲 True 則繪製首尾相連
13. pygame.font
該類是pygame中加載和表示字體的模塊
pygame.font.init
:初始化pygame.font.quit
:退出pygame.font.get_init
:判斷是否初始化pygame.font.get_font
:獲取所有可使用的字體pygame.font.match_font
:在系統中搜索字體pygame.font.SysFont
:從系統字體庫衝創建一個對象pygame.font.Font
:從字體文件中創建一個對象pygame.font.Font.render
:在新的 Surface 對象上繪製文本pygame.font.Font.size
:確定字體大小pygame.font.Font.set_underline
:是否加下劃線pygame.font.Font.set_bold
:是否加粗pygame.font.Font.set_italic
:是否設置爲斜體
14. pygame.mixer.music
該類是pygame中控制音樂播放的模塊,對於MP3格式的支持受限,建議OGG格式
pygame.mixer.music.load
:載入一個音樂文件pygame.mixer.music.play
:開始播放pygame.mixer.music.play(loops=0, start=0.0)
- loops:控制再循環幾次,若爲3則一共播放4次
- start:控制從哪裏開始播放,單位爲秒
pygame.mixer.music.rewind
:重新開始播放pygame.mixer.music.stop
:結束播放pygame.mixer.music.pause
:暫停播放pygame.mixer.music.unpause
:繼續播放pygame.mixer.music.set_voiume
:設置音量pygame.mixer.music.get_volume
:獲取音量pygame.mixer.music.set_pos
:設置播放位置- 傳入一個浮點數,控制從什麼時候開始播放
pygame.mixer.music.queue
:將一個應用文件放入隊列,排在當前播放的音樂之後pygame.mixer.music.set_endevent
:設置播放結束事件pygame.mixer.music.get_endevent
:獲取播放結束事件
15. pygame.mouse
該類是pygame中與鼠標操作相關的模塊
pygame.mouse.get_pressed
:判斷鼠標按鍵是否被按下pygame.mouse.get_pos
:獲取鼠標光標位置pygame.mouse.set_pos
:設置鼠標光標位置pygame.mouse.set_visible
:設置鼠標光標是否隱藏pygame.mouse.set_cuisor
:設置鼠標光標在程序內的顯示圖像pygame.mouse.get_cursor
:獲取鼠標光標在程序內的顯示圖像
16. pygame.BufferProxy
該類是 Surface
對象通過數組協議導出的一個緩衝對象
pygame.BufferProxy.parent
:返回該 BufferProxy 的 Surface 對象, 或者調用 BufferProxy 的對象pygame.BufferProxy.length
:返回緩衝區的長度,單位是字節。類似於len字段pygame.BufferProxy.length
:將緩衝區的數據拷貝並返回,爲str或bytes對象pygame.BufferProxy.write
:將字節寫入緩衝區
17. pygame.cdrom
該類是pygame中使用音頻cdrom的模塊, cdrom 即 Compact Disc Read-only Memory 只讀光盤
pygame.cdrom.init
:初始化模塊pygame.cdrom.quit
:退出模塊pygame.cdrom.get_init
:判斷是否初始化成功,成功返回 truepygame.cdrom.get_count
:返回 cd 驅動器的個數pygame.cdrom.CD
:管理驅動的類pygame.cdrom.CD.init
:初始化pygame.cdrom.CD.quit
:退出pygame.cdrom.CD.get_init
:判斷是否完成初始化pygame.cdrom.CD.play
:開始播放pygame.cdrom.CD.stop
:停止播放pygame.cdrom.CD.pause
:暫停播放pygame.cdrom.CD.resume
:恢復播放
18. pygame.PixelArray
該類爲pygame中直接處理訪問像素的模塊
pygame.PixelArray.surface
:獲取使用的 surface 對象pygame.PixelArray.itemsize
:返回像素數組項字節大小pygame.PixelArray.make_surface
:根據當前 PixelArray 創建新的 surface 對象pygame.PixelArray.extract
:從 PixelArray 中提取傳遞顏色
19. pygame.cursors
該類是pygame中使用光標資源的模塊
pygame.cursors.compile
:又純字符串創建二進制光標數據pygame.cursors.load_xbm
:由xbm文件載入光標數據
20. pygame.scrap
該類是pygame中用於支持剪切板的模塊
pygame.scrap.init
:初始化pygame.scrap.get
:從剪切板獲取指定類型數據pygame.scrap.put
:將數據放入剪切板pygame.scrap.contains
:檢測是否獲得
21. pygame.sndarray
該類是pygame中訪問音頻採樣數據的模塊
pygame.sndarray.array
:將一個音頻採樣複製到一個數組pygame.sndarray.make_sound
:將一個數組變成一個音頻對象
22. pygame.transform
該類是pygame中用於改變surface形態的模塊
pygame.transform.flip
:垂直和水平翻轉pygame.transform.scale
:調整大小到新的分辨率pygame.transform.rotata
:旋轉圖像
23. pygame.tests
該類是pygame中用於單元測試的模塊
pygame.tests.run
:運行測試套件
24. pygame.freetype
該類是pygame中用來加載和呈現計算機字體的模塊,不常用
25. pygame.joystick
該類是pygame中與遊戲杆、遊戲手柄、追蹤球交互的模塊,詳情參考文檔
26. pygame.locals
該類是pygame中定義各種常量的模塊
27. pygame.surfarray
該類是pygame中使用接口訪問 surface 像素的模塊,不常用
28. pygame.Overlay
該類是pygame中用於處理視頻疊加圖像的模塊,不常用