数学建模社区-数学中国

标题: pygame 会用这些函数就够了 [打印本页]

作者: 杨利霞    时间: 2020-4-28 15:00
标题: pygame 会用这些函数就够了
$ L) ?; ^7 j. y) [' ~0 Z  }
pygame 会用这些函数就够了" ]# T6 b. `# }; u& B" [$ m7 d
pygame 会用这些函数就够了
9 R1 i/ H3 u$ S9 j0 u% }- V' @" `0 R7 h& L  L. V/ X8 q  {
借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理
2 X6 |; l. O; k" b- f% X, A8 h; n/ r& i6 ?0 w, N
前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。3 C/ ^( A$ W0 b) ^' I' M7 j
1 f) F0 u  q  r7 \4 G
本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客
/ W' d9 a1 t4 X9 n7 l  d1 Q! `: q9 O/ D- U9 F7 ?
pygame.sprite:基本游戏对象* l! t8 O+ b9 t/ g3 e! w
pygame,event:处理事件# o) T  C: E! l  e8 P8 t
pygame.key:键盘按键
# F: U# ~$ X, u- W9 Wpygame:顶层模块
6 G# Z" m3 Z# g0 T; ]( Rpygame.time:时间模块4 s% @9 x6 C! C# N- p" j, B8 q9 E0 h& k
pygame.diaplay:控制窗口显示
2 V8 d+ X: W5 X! e' J) W) @pygame.Rect:图像矩形模块, n3 r0 H: x2 P* z; F) o
pygame.Color:颜色模块
* W9 e; Q- i' \pygame.image:图片模块
* S0 O& s( B! e1 Lpygame.Surface:表示图像
6 j0 @* d' k$ i9 R- o# V4 C# vpygame.mixer:声音模块$ y3 r2 D6 A7 f6 A
pygame.draw:绘制图像
3 Q' a% I) ~9 s; n( m. \pygame.font:字体模块. V# y/ ~1 j- Z9 z8 D5 z* q" m
pygame.mixer.music:音乐模块
  n, {2 c4 R" [0 s- b+ Hpygame.mouse:鼠标移动
! [9 ^# e, B, A+ D- M" D; Apygame.BufferProxy:缓冲对象. b; ?7 O; F2 _; q9 I- d
pygame.cdrom:音频光盘' t8 j+ T- s; E7 y
pygame.PixelArray:像素数组
, T5 ]2 \5 H; C' P8 s7 X$ apygame.cursor:鼠标光标
$ ]9 @. h# e8 N; X" a3 |pygame.scrap:剪切板
/ ~3 M2 H% o# o: R/ i2 i) \8 u. x% Q3 Rpygame.andarray:音频采样
+ |; z. L3 w) ^- h- M) C) P: Dpygame.transform:改变形态
) K$ ~3 N! V8 hpygame.tests:测试模块. ?2 a: k( V* p; v1 l7 V+ Q! ?, [( ]3 ?
pygame.freetype:计算机字体
+ E2 q4 L8 j! Hpygame.joystick:外接设备
: X5 k: A1 K- @) ~pygame.locals:常量定义
1 h( V9 B  A5 U$ @, l& Vpygame.surfarray:访问像素
  W  J) q% u. V, hpygame.Overlay:图像叠加; X- f& r1 j" L* H- l# b
1. pygame.sprite1 o4 t. I; [2 m; v% S. L: g
4 r' W6 Y' n% ]& I; a8 \. R
该类是pygame中处理基本游戏对象类的模块
+ D! x3 B) X/ p& J
! Y" W; e, }0 B& d" B# Hpygame.sprite.Sprite:可见游戏对象的简单基类% ?# i  Y6 b  G. X# ?
pygame.sprite.Sprite.update:更新状态: y  ~7 d! Z& \# l
pygame.sprite.Sprite.add:加到组中
4 {0 X& ~7 X. b3 kpygame.sprite.Sprite.remove:从组中删除) F5 k- X" X' `5 I+ }  E" o
pygame.sprite.Sprite.kill:从所有组中删除/ h; A, a/ v: x* g* [; \3 k
pygame.sprite.Sprite.groups:包含此Sprite的组列表
# o9 L+ F- q* B4 Q" |: P9 C& qpygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类+ w2 ~8 x* |. S5 b
pygame.sprite.Group:保存和管理多个Sprite对象的容器类
0 @4 G2 D( b% f/ ?- R- xpygame.sprite.Group.copy:复制组
% V! \0 ~$ ]  n5 s8 I4 {* rpygame.sprite.Group.add:添加到该组
% ?: |' I' ]; ppygame.sprite.Group.remove:从组中删除: d+ r  Q6 H; J4 X
pygame.sprite.Group.has:检测是否包含
  A5 R) V8 g; \pygame.sprite.Group.update:更新状态
; I+ f- y5 q3 l) Gpygame.sprite.Group.draw:绘制图像( o1 I, }( X0 F" W; d! }! H
pygame.sprite.Group.empty:删除所有
0 r. L3 r0 G! I6 M5 upygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞
7 J4 P& \! L7 ~3 `8 G# `/ S4 Tpygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞
0 m6 g0 F2 D0 n  N( ^2 Q; N9 mpygame.sprite.collide_circle:使用圆来检测碰撞1 f8 N5 h3 J6 }# D* I. r" w
pygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测
/ v. D: d. ^& u, ~1 d$ hpygame.sprite.collide_mask:使用蒙版检测碰撞
# {2 S% Z. g2 A+ I+ K1 r$ b2. pygame.event
" T' l& [; u! I% k8 n1 O# G* n/ M* \+ V' F. b8 y* {, Y
该类是pygame中处理事件与事件队列的模块
- g" W. n1 F( |  _! u! b
5 Y. m' j7 V8 {, x6 ipygame.event.pump:让其内部自动处理事件
& z* X3 ^# w4 N! b7 cpygame.event.get:从队列中获取事件
$ Q( i6 H( @9 {" V/ G$ Y9 |: epygame.event.poll:从队列中获取一个事件
/ F5 V% F" Z/ _, \pygame.event.wait:等待并从队列中获取一个事件$ S0 C  V& f9 J
pygame.event.peek:检测某个类型事件是否在队列中
( t/ o! `$ b. W! B; d( x% ^pygame.event.clear:从队列中删除所有事件
8 d2 u7 `3 P% e2 t5 Z0 ]# ipygame.event.set_allowed:控制哪些事件禁止进入队列, h) d# q& T+ O5 W" _+ c$ Z
pygame.event.set_blocked:控制哪些事件允许进入队列
. k; b3 B% T7 g4 R2 B$ Dpygame.event.post:放置一个新事件进入队列
, Z- w% f1 h, v' {1 jpygame.event.Event:创建一个新的事件对象
7 u7 R; R. ]- D3 D  g) z8 v事件种类:
/ B# I% U9 P' N8 d, M0 G5 eQUIT:退出/ C) i, W. }0 c& m1 q* `: M) V6 P+ n
KEYDOWN:按下按键
! B& J% O& U0 S- J. W- ^. EKEYUP:松开按键
( J$ J/ ]7 Q# pMOUSEMOTION:鼠标移动3 K0 u/ D/ l* m
其他游戏杆、游戏手柄、追踪球事件6 s6 d5 L. k1 {
支持自定义事件5 ^6 R+ c; I# M
3. pygame.key9 R$ i' R$ j, ]  `" l! [& l

7 m* w+ L0 R* x该类是pygame处理与键盘有关的模块! N( ]$ Y. o& z8 s  J4 g

! w% b3 E, P: N6 e3 E1 Tpygame.key.get_focused:窗口获得键盘输入焦点返回True( |2 h  I- j9 K& O- @
pygame.key.get_pressed:获取键盘所有按键的状态" y$ o. C4 P, Z! I! M
key属性:pygame预定义的键盘上的键位
0 e9 f0 T, W& {$ g, emod属性:pygame预定义的组合键# V, z) z; c; J" E% P* j
4. pygame
! D( _: @) J0 O' I2 K$ m; f# M" H  L2 n4 m  ^- r! Y/ f( z
该类为最顶层的模块) r7 B. K. G2 a/ G* R# t5 A
3 ?+ f! j* F" V4 \7 w
pygame.init:初始化导入所有pygame模块) `$ z4 t& w4 [( J% V9 E
pygame.quit:卸载所有导入的模块
6 h! `+ w7 j# e* G$ h5 S# i5. pygame.time
) @1 F. ~. w; E$ ?: f: p1 X
; g: [. A( p  S7 x) D2 [, P该类是pygame中用于时间管理模块
. G% L4 |7 h5 M4 D  S9 ?- t4 i$ B) K$ U7 _6 _5 V! ?0 }8 E5 j
pygame.time.get_ticks:以毫秒为单位获取时间
2 b& g; K, L9 I% upygame.time.wait:暂停程序一段时间7 A# ^% g# A+ C( ?' y
pygame.time.delay:暂停程序一段时间
* r- c( {" X# C' c* Jpygame.time.Colck:创建一个对象来帮助或更新时间0 Q2 B! \/ k/ ]+ g9 ]  X3 K5 D$ W
pygame.time.Clock.tick:更新clock对象9 b: Z8 V2 M. ^  J3 `: x/ Y
6. pygame.display& n: z+ y7 j) A2 A& }$ ?% q

8 Y# d! U0 s  o4 }+ W该类是pygame中用于控制窗口和屏幕显示的模块4 d, t$ ?  `  X3 ]

$ |1 x% j, |: |pygame.display.init:初始化模块- c8 ~* G, C5 K( ?. T  n  n. ^
pygame.display.quit:取消初始化
5 y4 Y+ ?7 P  c+ Y; S3 y  m& w; _pygame.display.get_init:判断是否初始化成功
- }' h7 X) Q( y4 i9 ^+ s1 xpygame.display.set_mode:初始化一个准备显示的窗口或者屏幕) r3 s$ C$ \" S. y
pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
7 f0 c  ^% W% r4 `5 Vresolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率/ v' l% Q' v- F* k/ e; J" Y
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合! @  M& b' ?+ y7 p
pygame.FULLSCREEN 创建一个全屏显示
! ~$ |- |! Z/ N: F7 p6 o6 {pygame.DOUBLEBUF 双缓冲模式% }( `" N4 H- g9 d$ x5 C
pygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用5 F$ D: x2 H0 `* K" J! Z
pygame.RESIZABLE 创建一个可调整尺寸的窗口
! J' E3 _3 f! r) }' s8 {pygame.NOFRAME 创建一个没有边框和控制按钮的窗口
# g8 M4 K8 |9 T' Odepth:深度参数,一般不传值
6 \3 S* w6 h% }3 |pygame.display.get_surface:获取当前显示的 Surface 对象6 G7 q$ M/ n8 e8 |
pygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上! y$ l) i$ c( C! O3 ^! f# J
pygame.display.update:更新部分软件界面显示
2 W; [$ a7 b- ^; t  f( ppygame.display.iconify:最小化显示 Surface 对象
4 B- W2 `% j0 ~1 C+ o( C& X& R; qpygame.display.toggle_fullscreen:切换全屏显示和窗口显示& s4 @. m- W9 q/ X# I
pygame.display.set_icon:更改显示窗口的系统头像4 ]- ^5 b5 A$ B% m
pygame.display.set_caption:设置当前窗口标题: p5 q/ I* P  k# E* W: j5 ]" [9 q" v
pygame.display.get_caption:获取当前窗口标题2 W2 m( g+ k7 |. b0 J+ H
7. pygame.Rect
7 O( c$ T: q- D9 O9 v3 L5 y  w0 R/ d
$ ?; f* X( x1 g7 p+ P该类是pygame中直接操作对象外界矩形的模块; Q% n$ ~1 O0 j% s
: w% ?# b$ s0 t7 B
pygame.Rect:创建矩形对象4 l" E% g5 o+ ]
pygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形
, Q8 k( ^0 R% |  U( ~) f, N( F* }pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形/ D  ]2 I3 s. Q$ M( V* y
该对象具有用来移动和对齐的参数
: P) l, V- c2 X) |% r5 Jx, y
5 D; n/ }0 ~: g6 C) ^) T  Btop, left, bottom, right
2 N- g. f0 o/ ~9 W: @' H. g1 Gtopleft, bottomleft, topright, bottomright
' D) Y1 ?3 x" \/ J; M9 H2 g) \midtop, midleft, midbottom, midright
# d8 c4 }/ q, d, `6 B! lcenter, centerx, centery. ]' y* h( _6 j3 x" T4 g. A7 h
size, width, height; {! G6 w' F" E% Q  C5 P4 P
w,h9 Q* i; A) q" a
pygame.Rect.copy:复制矩形
/ t9 b8 p5 r* \; Z: Bpygame.Rect.move:移动矩形2 J: M1 }3 @$ X
pygame.Rect.move(x, y):传入偏移量
3 ?( p+ |  G* O) N5 x3 i5 D8 ipygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象) p( y: e. H; v1 k
pygame.Rect.collidepoint:测试一个点是否在矩形内1 V) y; `$ G) x1 b
pygame.Rect.colliderect:测试两个矩形是否重叠" U9 Q2 D$ a# _( `# d. L# b
8. pygame.Color5 K. X* o- \$ z. k' D0 J6 ~

+ B3 H+ ^- z. e# }9 U3 f该类是pygame中用于描述颜色的模块' K) S. N5 Y1 \, C% d" P7 A

7 \- l& N, {) }. L; Spygame.Color:返回一个颜色
  L8 G" |: }* a5 H4 gColor(name):传入名称- C7 l; @0 L+ Q7 p# [
Color(r, g, b, a):传入rgba参数3 H  m0 b, I, V/ H" j: F; P+ Z) o
Color(rgbvalue):传入rgb参数0 P7 _$ H- w" e0 }( x8 u
pygame.Color.r:获取或设置其红色值
- y) S" m: }8 d4 F  Dpygame.Color.g:获取或设置其绿色值
1 s+ G$ ]4 y' m7 Bpygame.Color.b:获取或设置其蓝色值
( c$ G- s( }8 G' v& M0 {+ ipygame.Color.a:获取或设置其alpha通道值$ J$ l: s. n" Z3 L8 V
pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值
% V  E& ^1 M  qpygame.Color.normalize:返回标准化 RGBA 值2 k- |2 \: I: i- s1 \  h6 a
9. pygame.image0 v. O2 k. q& ~- z

# n/ H# y; h3 k- q0 [3 z: d- ?! k该类是pygame中处理图像传输的模块
0 U, K0 n' a" {% F( V3 z' p' ]% [/ D( A6 X
pygame.image.load:从文件中加载新图像5 ]- g4 ~9 ^& n5 n! Y* z# r
传入文件路径和名称, x5 t' l# h& P; ?, |' n/ Y0 H
支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式
6 z$ g7 J0 A0 p2 ]# Epygame.image.save:将图像保存到本地
8 h6 |3 l/ E) A! o传入 Surface 对象和路径
( G0 q; g3 u) ]7 F3 D支持BMP、TGA、PNG、JPEG格式
& D; i! w* z5 z4 p10. pygame.Surface* u) V9 z- V: s9 h$ W
' J6 G. r% f& D
该类是pygame中用于表示图像的模块& ]4 p: K+ i  b) e+ K8 {8 H

: `6 L8 ~( F, E& v: w: i$ H5 O" Z  Spygame.Surface:创建对象7 ^  ?, @% i6 \1 [  {
pygame.Surface((width, height), flags=0, depth=0, masks=None)
! z' v1 g- A5 ]( a  A0 H8 lpygame.Surface((width, height), flags=0, Surface)! S# W/ P) L& z4 S7 D/ Q" t
pygame.Surface.blit:将一个图像绘制到另一个上方1 D! e$ U% |0 p- _: A0 O
pygame.Surface.convert:修改像素格式$ E. n8 b& g' r" I( Z: P
pygame.Surface.copy:拷贝对象+ h; k6 P0 h& j8 t$ K& ~( l
pygame.Surface.fill:使用纯色填充对象
1 M$ d- S1 }2 G8 G4 S6 `pygame.Surface.scroll:移动对象* ?  F, p$ \* ^7 G5 [& M, ^
11. pygame.mixer7 o" r2 k# k" K7 D) [  C

, H4 w' V8 g" y7 F& f& W该类是pygame中用来加载和播放声音的模块,默认有8个声道
9 B2 D0 y7 {- {* j8 w) m4 X! `. A- }9 ]* v, G5 s9 ?
pygame.mixer.init:初始化模块) E8 g' ~  y" _: e; v4 Y( N
pygame.mixer.stop:停止播放所有声道
: ]; I; @* A# N$ |pygame.mixer.pause:暂停播放所有声道5 p; r& `6 w: j7 C8 I3 m/ I) x
pygame.mixer.unpause:恢复暂停播放所有声道- K: A$ r+ W, Y3 q5 t' |
pygame.mixer.fadeout:停止前淡出所有声音$ D5 T4 I* m; f4 M
传入时间参数,设置淡出时间
& t; y5 m8 f: @" j+ y: d12. pygame.draw
: ?- a3 u" r+ X" X( j# I* v
3 k* V/ {/ N# s  Q- x- Q" o( L& V该类是pygame中用于绘制图形的模块' n, c$ B1 r$ A# S1 x

% s4 r1 E+ B5 ]' npygame.draw.rect:绘制矩形
0 e$ o+ F+ `+ l$ J/ ~pygame.draw.rect(Surface, color, Rect, width=0)
3 b& R1 |- H# j4 @Surface:绘制在 Surface 对象上
' y. r8 I! g/ u( [' G$ n9 l- Mcolor:传入 RGB 三元组或 RGBA 四元组% T; a6 @) ~; w3 Z: ]1 a
width:指定边框宽度,0 表示填充该矩形8 U' f, j+ E# [; a# c' e  {( V
pygame.draw.polygon:绘制多边形- m7 f  i+ G# ~+ m9 \5 O
pygame.draw.polygon(Surface, color, pointlist, width=0)+ |0 Q2 e$ j% [# @0 s7 s' i
pointlist:指定多边形的各个顶点
: t& p8 i( E. [/ {) u/ B+ zpygame.draw.circle:绘制圆形
/ a# F2 D& n" W) e3 Mpygame.draw.circle(Surface, color, pos, radius, width=0)0 Z% ?5 w1 x( ^9 o
pos:圆心位置
7 j3 K  Q0 P4 p1 ^8 `" g1 b* pradius:半径0 B2 _$ b2 q# b1 q  U
pygame.draw.ellipse:绘制椭圆) J& L; g: m; G# g0 L. }: g
pygame.draw.ellipse(Surface, color, Rect, width=0)
, C; {+ K. {  O' fRect:椭圆外切矩形+ |3 z2 E$ y2 I
pygame.draw.arc:绘制弧线
/ Q& Q$ v/ Y& p- g; i, K& t* Fpygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)
" ?( p+ {, X0 l3 S8 l& V( hRect:弧线所在椭圆外切矩形7 m. R! L6 B. m( f# u" l
angle:弧线开始和结束位置: Y' A( e  h% r( z" L$ [
pygame.draw.line:绘制线段
0 L: A: d: @$ h' A- Jpygame.draw.line(Surface, color, start_pos, end_pos, width=1)( S5 J0 ?. F: P& W$ S  y9 ^# f! R
pygame.draw.lines:绘制多条线段* S( L; C# z" ]2 e6 d
pygame.draw.lines(Surface, color, closed, pointlist, width=1)& r; N7 g! u4 }/ Y" `5 S6 M
pointlist:一系列点
  e9 J# r- V& e1 F) k; j& aclosed:若为 True 则绘制首尾相连
# z2 `$ T% l0 v6 W2 ~9 }+ C7 h13. pygame.font3 G7 d2 t& A% x% m9 j! Y( M

8 N3 `: d3 g. x- F, |+ l1 ]该类是pygame中加载和表示字体的模块
7 o1 d: j! K  n$ o# s4 S
/ Q  R% U' y% v1 Q2 v, [+ V9 [pygame.font.init:初始化: b: l& R* W$ ]- ]
pygame.font.quit:退出* Y+ s( @# H: \' u/ `
pygame.font.get_init:判断是否初始化. Z1 F5 y/ i+ x! n4 W% F
pygame.font.get_font:获取所有可使用的字体
6 D: K4 c+ P. _pygame.font.match_font:在系统中搜索字体
$ H9 |% F9 C. Lpygame.font.SysFont:从系统字体库冲创建一个对象
: _# H" P8 z9 D6 v5 X* @; V2 Ppygame.font.Font:从字体文件中创建一个对象
% ?0 i$ F( Y7 Q6 {pygame.font.Font.render:在新的 Surface 对象上绘制文本' B1 p0 g4 @  V. b. x
pygame.font.Font.size:确定字体大小7 ?+ i/ D7 N1 @* E
pygame.font.Font.set_underline:是否加下划线
+ E: M  ?, d8 r- spygame.font.Font.set_bold:是否加粗& c, k. \# C, Q$ X- ?
pygame.font.Font.set_italic:是否设置为斜体
( m. w1 a! A! O' n14. pygame.mixer.music# c3 U% N+ i! g+ v. y9 p! H

' F9 I# Y8 h& {2 x" S该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式
! q. p7 }! `% R+ z! C. f5 w3 t: k3 j, v4 @+ c+ q
pygame.mixer.music.load:载入一个音乐文件" ]$ ]& l* `4 Z7 s$ A8 r
pygame.mixer.music.play:开始播放
  t2 |0 o( s" t/ U1 wpygame.mixer.music.play(loops=0, start=0.0). u1 |# }/ ^& H. W! L( }8 W7 i$ L
loops:控制再循环几次,若为3则一共播放4次
7 q8 _3 _. e$ {0 C4 Zstart:控制从哪里开始播放,单位为秒
9 I. D3 W; I: m: dpygame.mixer.music.rewind:重新开始播放+ Z% ^+ R2 T9 m$ @
pygame.mixer.music.stop:结束播放
2 ?! K2 m; P3 u. a$ j7 \, `4 npygame.mixer.music.pause:暂停播放! `1 a* V' {3 l( i/ p, b
pygame.mixer.music.unpause:继续播放/ F9 B% c; S' g, x" R2 @
pygame.mixer.music.set_voiume:设置音量
  J1 k2 E: X  z: M: d+ z  C0 Ppygame.mixer.music.get_volume:获取音量
0 Z" `) {, X  t' p% J* L5 y0 [: I; \pygame.mixer.music.set_pos:设置播放位置5 i6 y) I* A" `' r: L* S8 Q6 s
传入一个浮点数,控制从什么时候开始播放
. S& M: ?% A! }0 @pygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后  ^0 `* @  }9 R+ }
pygame.mixer.music.set_endevent:设置播放结束事件4 m  @; g, w+ c4 {
pygame.mixer.music.get_endevent:获取播放结束事件
  l: a/ G& X. E0 N* _7 F/ C15. pygame.mouse
5 m( N" i: n+ G/ Y
1 W9 _% E% c+ }  s5 s$ H该类是pygame中与鼠标操作相关的模块
8 }) W# p- u% U! R# T: J- A) a! N: E$ Y' K  z: ?( i9 D3 o
pygame.mouse.get_pressed:判断鼠标按键是否被按下( H& K  T$ x8 t; H
pygame.mouse.get_pos:获取鼠标光标位置7 z0 C* Z6 g. F' E1 R  t. S4 G+ p
pygame.mouse.set_pos:设置鼠标光标位置0 G7 Q; i8 c, M3 W6 x: d
pygame.mouse.set_visible:设置鼠标光标是否隐藏3 c) {: i3 H# J5 K1 V
pygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像
7 X' M% N, K" k7 e9 F8 [: p& \pygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像
5 B/ p" I/ w( q7 B! V2 g% v' X" n16. pygame.BufferProxy4 L  y/ O) w) C' H. z9 r+ Z
# g; s3 Q' ?6 M' ~9 _; C
该类是 Surface对象通过数组协议导出的一个缓冲对象
/ c3 z+ A6 O+ T: I0 A- i" L# p
1 S& Y' Y4 N- b( Dpygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象# X4 P! M! v/ p8 r# K" i9 D2 N
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
# C0 \  w! l5 Z* \$ |pygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
! z; i. y- m# j8 Rpygame.BufferProxy.write:将字节写入缓冲区
: ~( K, W) n; Y) p/ ^17. pygame.cdrom9 a( p0 ?; ?) r% T' _$ _" B" l

+ x' O# z+ E1 H+ p8 L5 d该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘  e- P# X1 c* H" {# _3 O
. H& V, F# j. e' w: y3 q9 k
pygame.cdrom.init:初始化模块4 Q0 S- |5 p  b/ H: }
pygame.cdrom.quit:退出模块
3 q9 K( h3 D& h2 S4 apygame.cdrom.get_init:判断是否初始化成功,成功返回 true) X+ x( |9 _! _+ i( r, `
pygame.cdrom.get_count:返回 cd 驱动器的个数
7 S- y$ T& M* k% v* ~$ f# ^$ d; u/ Gpygame.cdrom.CD:管理驱动的类/ x! P# o3 l7 s' Y1 h+ m4 f/ T  L
pygame.cdrom.CD.init:初始化
! G8 V# s0 ]9 \1 M2 U3 jpygame.cdrom.CD.quit:退出3 C& q# b4 [: m: P/ m) u1 {
pygame.cdrom.CD.get_init:判断是否完成初始化2 s9 s8 O" o2 w8 D
pygame.cdrom.CD.play:开始播放
1 R& C# U/ H) Z6 `% l; Kpygame.cdrom.CD.stop:停止播放
# E0 d9 J. J( s/ Ipygame.cdrom.CD.pause:暂停播放. C  y, _3 W9 z" R
pygame.cdrom.CD.resume:恢复播放
4 {  p7 @8 V: Q7 @) i0 ~* ~4 c5 _18. pygame.PixelArray
  f6 S$ g6 L0 A, }/ ~* U" s; p5 e  l- z) r% {; ^( Z4 H! {
该类为pygame中直接处理访问像素的模块, F8 U# S3 ?, h  N) G

& w% @& a2 P) |+ P6 H# M4 Dpygame.PixelArray.surface:获取使用的 surface 对象
% e& m, q! a; q, L* u: Apygame.PixelArray.itemsize:返回像素数组项字节大小
- H" @- M/ N0 M) v3 \9 V! B4 N9 }pygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象0 ]% J+ B' j5 L5 R5 u( i* J5 Y
pygame.PixelArray.extract:从 PixelArray 中提取传递颜色
3 H6 q( w1 W$ l0 Z- D( E4 d19. pygame.cursors
5 k/ }1 t8 h' D2 j6 z( P: L" G3 y$ w* A8 P$ F
该类是pygame中使用光标资源的模块' L! j. k9 O9 B$ s
' B3 r: [/ i: v/ h
pygame.cursors.compile:又纯字符串创建二进制光标数据* n5 N; M7 h- D. W
pygame.cursors.load_xbm:由xbm文件载入光标数据0 ~8 J/ R; _2 A8 D2 A: y8 e0 ]
20. pygame.scrap: v4 W& b, v1 R& l! B2 L7 Y" x
# Z6 r# u" ~* w6 O' O5 P0 z
该类是pygame中用于支持剪切板的模块
2 M1 R) Q' ]+ s! T& l0 s* a
; H7 N: T, Q' ~' qpygame.scrap.init:初始化
3 K! r, n. k) M* f; jpygame.scrap.get:从剪切板获取指定类型数据/ ]( V- o8 V" y! _, L& Q0 l! L- i1 ?
pygame.scrap.put:将数据放入剪切板
6 F, \9 T' P8 m2 jpygame.scrap.contains:检测是否获得
0 ?2 D* R2 l- {! O21. pygame.sndarray
5 |; N5 _4 i+ |0 u+ J# S; M. g& @* l) Z% w4 y& w& x
该类是pygame中访问音频采样数据的模块
/ E- Q$ W2 E5 E9 r  S
8 Z! U( @2 k% G+ vpygame.sndarray.array:将一个音频采样复制到一个数组- P; y% I/ a- n. ]" A
pygame.sndarray.make_sound:将一个数组变成一个音频对象/ A2 r5 u2 N7 l$ c" I. a8 c
22. pygame.transform
- T$ V6 S8 o6 c' X! a, v
0 e& |0 B, Q( ^$ [该类是pygame中用于改变surface形态的模块
( E- F+ B" T) J+ e0 v. j: T8 A
pygame.transform.flip:垂直和水平翻转
# n1 I# t, Z, |, ?7 ~pygame.transform.scale:调整大小到新的分辨率8 K* x3 c: [7 m0 Y8 d5 y& Y/ @' |
pygame.transform.rotata:旋转图像
" w6 B7 o: P3 @9 \7 S' f' X23. pygame.tests# a- K8 j/ d% N4 s" P! P

7 C5 j/ a. i- f7 e8 X  g6 q: W该类是pygame中用于单元测试的模块
; `$ W7 ]2 q8 b- Z+ v5 H; q* _2 T, u% y2 @
pygame.tests.run:运行测试套件
" e& a* D6 x2 O! Q24. pygame.freetype7 D' J# n5 s3 L0 l6 I* l
3 M5 [2 W5 S# C  P* y; m; g. a3 D
该类是pygame中用来加载和呈现计算机字体的模块,不常用
! p/ K! T( L. s, y1 J3 b8 S& N
8 r5 M  m0 n+ S: H! f6 u( M25. pygame.joystick
, Q) b" e. B5 [3 c/ A/ l* D; v& W2 V
该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档+ g) [6 f  s2 x$ q
! i6 Y# J! T  }# V0 G; |
26. pygame.locals
* X. `8 l' Q, u5 H9 v% a0 g. N0 n' ^% ~# D* e
该类是pygame中定义各种常量的模块" z8 r: a4 X! X8 G1 Z1 o0 w  g* H
- r# h. ?- Z. \& d0 {  k9 U0 Q/ f
27. pygame.surfarray. @9 F* Q8 `% P, F7 W

2 [/ N+ _2 s+ W该类是pygame中使用接口访问 surface 像素的模块,不常用
3 i7 h0 b7 w& M& M' a' F7 o3 P' k( z3 x" @$ R
28. pygame.Overlay+ W, s& L# K0 u' N1 w0 L# [
/ \" t5 U0 a8 f& o6 ]* K; }
该类是pygame中用于处理视频叠加图像的模块,不常用
' T$ |& ]# {" e  Q' r, e————————————————" M( x* n. i* S- b4 w' z
版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
; E/ ]8 L  L0 q7 f+ Q原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241
+ \$ N! L2 Y8 u( K0 U6 x. b( E6 E, U: j& z" ]* i5 y& ^
: a6 J, P6 b! d+ `





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5