pygame 會用這些函數就夠了

pygame 會用這些函數就夠了

借鑑了pygame的官方文檔和一些中譯版,對於我們實際寫代碼時較常用的一些函數和方法進行了整理

前15個可以說是較爲常用的函數,後面的由於不太常用就有所省略。

本文檔只是作爲參考,具體使用還請參照官方文檔。如果整理的哪裏有問題還希望大家指正。這裏可以移步個人博客

  1. pygame.sprite:基本遊戲對象
  2. pygame,event:處理事件
  3. pygame.key:鍵盤按鍵
  4. pygame:頂層模塊
  5. pygame.time:時間模塊
  6. pygame.diaplay:控制窗口顯示
  7. pygame.Rect:圖像矩形模塊
  8. pygame.Color:顏色模塊
  9. pygame.image:圖片模塊
  10. pygame.Surface:表示圖像
  11. pygame.mixer:聲音模塊
  12. pygame.draw:繪製圖像
  13. pygame.font:字體模塊
  14. pygame.mixer.music:音樂模塊
  15. pygame.mouse:鼠標移動
  16. pygame.BufferProxy:緩衝對象
  17. pygame.cdrom:音頻光盤
  18. pygame.PixelArray:像素數組
  19. pygame.cursor:鼠標光標
  20. pygame.scrap:剪切板
  21. pygame.andarray:音頻採樣
  22. pygame.transform:改變形態
  23. pygame.tests:測試模塊
  24. pygame.freetype:計算機字體
  25. pygame.joystick:外接設備
  26. pygame.locals:常量定義
  27. pygame.surfarray:訪問像素
  28. 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:窗口獲得鍵盤輸入焦點返回True
  • pygame.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:將緩衝區的數據拷貝並返回,爲strbytes對象
  • pygame.BufferProxy.write:將字節寫入緩衝區

17. pygame.cdrom

該類是pygame中使用音頻cdrom的模塊, cdrom 即 Compact Disc Read-only Memory 只讀光盤

  • pygame.cdrom.init:初始化模塊
  • pygame.cdrom.quit:退出模塊
  • pygame.cdrom.get_init:判斷是否初始化成功,成功返回 true
  • pygame.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中用於處理視頻疊加圖像的模塊,不常用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章