数学建模社区-数学中国

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

作者: 杨利霞    时间: 2020-4-28 15:00
标题: pygame 会用这些函数就够了

: C+ B: F' x- r0 |- l6 o1 j6 rpygame 会用这些函数就够了
. k7 r3 {! Z  n& _7 k5 gpygame 会用这些函数就够了
3 Z+ d2 [+ x$ @3 V. m+ }6 d* o' y$ P0 U  o# g9 f2 p( h! x) R! R
借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理1 |' _2 W/ ~7 @/ E' G* u
, T- G1 q7 ]2 r
前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。& M, c6 K% T' a0 q* W4 ~5 B
: t  Q8 O  s' x  K3 E; z
本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客
1 v7 o, p+ \1 d* ^/ K; D9 v- c" |4 k0 j& C" t* o- n3 Z
pygame.sprite:基本游戏对象! @: Y( t% o. b, H2 z7 F: q
pygame,event:处理事件1 ]" O+ c8 ~% R+ Q- R3 E
pygame.key:键盘按键- l+ x- n( D. z: x: C
pygame:顶层模块
, {) y& p) h) W2 l8 J9 Wpygame.time:时间模块  L3 V5 F$ p* x7 i
pygame.diaplay:控制窗口显示
  Q3 T" _# L) m$ `3 e/ ?" i7 cpygame.Rect:图像矩形模块$ l* x0 b* x* p( a7 K
pygame.Color:颜色模块
, N9 d+ a) P  N4 Y) I/ X8 bpygame.image:图片模块9 m, `2 M9 C0 [) D0 t: L4 n! j
pygame.Surface:表示图像
# v* O4 O' U$ o" }pygame.mixer:声音模块$ h( P8 \; ]  u  ^# N
pygame.draw:绘制图像
- N6 h9 C) p7 N* Rpygame.font:字体模块/ A9 M0 F3 B/ E  c9 c+ g
pygame.mixer.music:音乐模块
: T: ?/ q2 N# q' n7 apygame.mouse:鼠标移动& ?0 V5 _5 A2 M' n5 ~# i1 P( q
pygame.BufferProxy:缓冲对象
2 o4 p/ H$ x  opygame.cdrom:音频光盘
% j) l3 |! T; p3 T- A6 Dpygame.PixelArray:像素数组5 @/ [+ y( Q8 x7 E6 [+ j0 u
pygame.cursor:鼠标光标
( x$ v! ]; S  M9 vpygame.scrap:剪切板- M- I5 F) z' O. a( a$ R2 j
pygame.andarray:音频采样
/ _1 R% E* G. p1 [$ kpygame.transform:改变形态7 O" h' R. g; r6 ?
pygame.tests:测试模块1 Z" `* `. b6 N5 n
pygame.freetype:计算机字体
9 e! c5 K% L: T7 o& e- q1 Opygame.joystick:外接设备
. L& c3 J: ]0 v' B8 q) ~4 i$ Xpygame.locals:常量定义
$ E1 R* f# Y% q5 M0 Xpygame.surfarray:访问像素
, R  ~, \! L2 Spygame.Overlay:图像叠加
6 ~' p6 E) m8 N' B2 U. G& }; y1. pygame.sprite" _2 U2 y$ }, ?1 I

. M( u! R9 |' S: V, F该类是pygame中处理基本游戏对象类的模块5 _  d9 ]4 d+ R  q7 u% o8 X

5 D: f; g/ h8 q, jpygame.sprite.Sprite:可见游戏对象的简单基类
- G/ {$ \7 T& T: o( y% Spygame.sprite.Sprite.update:更新状态
* k( M( i, m+ n- Mpygame.sprite.Sprite.add:加到组中0 q/ J4 |* i. I5 a# E
pygame.sprite.Sprite.remove:从组中删除
+ z- l, K% _9 m& Rpygame.sprite.Sprite.kill:从所有组中删除
9 P& l- x- K# `* N8 _7 ?2 dpygame.sprite.Sprite.groups:包含此Sprite的组列表
* y) w2 O! I  h( D3 h) hpygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类: B8 ?* x, \$ B# Y: t1 ]
pygame.sprite.Group:保存和管理多个Sprite对象的容器类
: t1 m) ]8 e  e$ `8 X6 Ypygame.sprite.Group.copy:复制组$ ?+ b0 _+ T- `( c1 }; r$ \
pygame.sprite.Group.add:添加到该组3 c/ J6 Z+ j- u$ F5 a* {6 ~
pygame.sprite.Group.remove:从组中删除
" I7 `) n7 w& e0 Epygame.sprite.Group.has:检测是否包含
' H. N$ X/ A9 n3 Fpygame.sprite.Group.update:更新状态
. r$ J5 R. _2 t) w; tpygame.sprite.Group.draw:绘制图像
) U4 O7 T- m6 Q5 i3 ?pygame.sprite.Group.empty:删除所有
( n& W# O9 a0 Y7 V: R3 T! A9 Jpygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞( E5 g$ N, @! W% r
pygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞
$ U, c3 y$ c% s; o6 @* O( o. Jpygame.sprite.collide_circle:使用圆来检测碰撞
/ z! @) |; G* rpygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测
6 X- S9 H: ^0 T7 P/ ^& Npygame.sprite.collide_mask:使用蒙版检测碰撞
  x& _6 l5 O" p+ Q2 }& e' R2. pygame.event2 I% L4 r7 I; i
) G6 F7 h* }9 N- E: h+ f
该类是pygame中处理事件与事件队列的模块! n6 g: i9 V$ B2 A2 \0 q

& m* |6 s% }2 w: `& N6 Y$ m* f6 lpygame.event.pump:让其内部自动处理事件
1 {& b7 i# u6 }pygame.event.get:从队列中获取事件
7 j, R7 i4 d+ S4 X& M5 O9 d& Epygame.event.poll:从队列中获取一个事件1 W2 A5 o$ j$ y. X2 i" m
pygame.event.wait:等待并从队列中获取一个事件
5 N" Y! Z0 Y- S/ lpygame.event.peek:检测某个类型事件是否在队列中  D' _3 H! f" i* L1 F( ]
pygame.event.clear:从队列中删除所有事件
) [! `) o% J8 Z) f  e, Bpygame.event.set_allowed:控制哪些事件禁止进入队列
6 S% f* y; [0 |! A1 tpygame.event.set_blocked:控制哪些事件允许进入队列
7 A( ?( l& ~7 ^* M- fpygame.event.post:放置一个新事件进入队列
# Z7 S) F6 F& w4 Z- Opygame.event.Event:创建一个新的事件对象0 ]( {' N1 P2 L( z7 d2 A0 \
事件种类:
+ g4 u8 X0 h- M# T+ k8 cQUIT:退出
  C' ?" A, r' v2 b4 }: I4 q, ^KEYDOWN:按下按键$ }4 D4 |2 Y! \* o
KEYUP:松开按键7 N" ^- a8 B( [( h. [' D
MOUSEMOTION:鼠标移动$ `/ Y2 O' }. Q) r7 z
其他游戏杆、游戏手柄、追踪球事件
% |7 q5 Y4 B; O2 z+ `$ Q. L, j支持自定义事件
8 |- k. k6 ^' W& n" ]) o3. pygame.key$ P8 {# A7 d5 B5 p) M) t+ y4 W

% ?+ v+ Z5 j) z9 b4 S4 i" \该类是pygame处理与键盘有关的模块9 P! Q" s' M3 z+ J# ]; E

5 c- p7 p$ \8 _1 @5 N$ g; u  npygame.key.get_focused:窗口获得键盘输入焦点返回True: `6 h2 l4 I" @* Q% f0 C4 {
pygame.key.get_pressed:获取键盘所有按键的状态
$ B. U' T# Y0 g4 Q1 @+ ^' [% dkey属性:pygame预定义的键盘上的键位, J# P/ ^5 Q% N6 k7 b( C, L6 K$ N# ~
mod属性:pygame预定义的组合键
$ [3 d- e% O, \4. pygame9 J! }6 w* u) z9 }

+ l, W" _) s! M; {1 R5 U3 a! r( z, G该类为最顶层的模块8 ^# ~0 |' ]" f+ s6 @4 w4 D
% P9 ?3 F: z/ ]$ G
pygame.init:初始化导入所有pygame模块# j- `) L) O6 {& k' h8 q
pygame.quit:卸载所有导入的模块
5 K/ o8 u6 k1 t9 S* j5. pygame.time
* Y9 n1 y: j$ }" J# U. g/ ~
, z* Y( C8 h$ F# b( b该类是pygame中用于时间管理模块" b6 l# M! A8 P; v! Y

: b5 P/ A; J( p& L* ppygame.time.get_ticks:以毫秒为单位获取时间
0 N& h! e- O  mpygame.time.wait:暂停程序一段时间- e& M8 E+ x# I, l
pygame.time.delay:暂停程序一段时间4 U% q+ I5 N/ h$ {* [( H
pygame.time.Colck:创建一个对象来帮助或更新时间
: e4 q% E- M  g+ d1 f# O2 x# npygame.time.Clock.tick:更新clock对象4 |# Y* n0 V; [3 Q0 @6 t4 i
6. pygame.display
/ a( U7 s. g& Z/ ^0 T4 _% V4 q2 [' j
该类是pygame中用于控制窗口和屏幕显示的模块
1 k) D' k3 p% V1 c, {$ N3 f$ L& c. ]
pygame.display.init:初始化模块
" o9 i" f: g$ R4 l4 Y2 @pygame.display.quit:取消初始化2 M# |7 O8 q7 w7 P' N& S; x
pygame.display.get_init:判断是否初始化成功
! B, i- X$ l/ T; x5 Wpygame.display.set_mode:初始化一个准备显示的窗口或者屏幕1 _5 N' i' ~" P  b6 F
pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
' N$ x8 Q( i) {. V* Vresolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率! ?) I) c5 J$ ~. T9 k& G# D; ]
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合/ p+ l! g+ z  ^0 E% Z, o& w
pygame.FULLSCREEN 创建一个全屏显示3 S# y/ g! V! O7 a! a
pygame.DOUBLEBUF 双缓冲模式
6 R& a1 _8 f( d& }7 Hpygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
' @, d- J: J+ s, V* c. }5 n! p4 Opygame.RESIZABLE 创建一个可调整尺寸的窗口
2 m2 ]. Z2 M! m5 ]pygame.NOFRAME 创建一个没有边框和控制按钮的窗口! _. E( W, f  B
depth:深度参数,一般不传值! x5 Q% C2 [8 f7 m# _7 x
pygame.display.get_surface:获取当前显示的 Surface 对象
. e! O  f; Z+ o1 r7 O  k+ Bpygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上' Q( t, z0 r# [1 }9 z
pygame.display.update:更新部分软件界面显示, x/ O. }( I$ @: I7 A" p
pygame.display.iconify:最小化显示 Surface 对象
  D: G, x) K0 B+ A3 s  @# [- xpygame.display.toggle_fullscreen:切换全屏显示和窗口显示
% e7 G5 g; i) A! w" Z  L" s+ _pygame.display.set_icon:更改显示窗口的系统头像# `  a! K6 h5 o$ J
pygame.display.set_caption:设置当前窗口标题: @4 |& Q9 L8 E. M0 L/ `; |6 y
pygame.display.get_caption:获取当前窗口标题! w" f3 f7 W4 A' d; v. A
7. pygame.Rect7 ^; Q/ K* k  t: Q9 }, ], Q
1 v; e4 l- \' i. C/ I
该类是pygame中直接操作对象外界矩形的模块" n3 d2 ^- _; K$ Q0 X* m. f5 B9 K) y

. w5 h0 k6 ^) C) }; ~8 Rpygame.Rect:创建矩形对象
  S0 n% |' G. v& y" g. [5 Dpygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形! [' S. e7 {* y  L" c7 e6 C
pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形- c! }( x* s3 }2 L* x4 L
该对象具有用来移动和对齐的参数
/ l4 E( S9 C4 i4 i: |, S2 qx, y% M3 `" ~  ?/ r' k7 A
top, left, bottom, right5 Q; w; o5 `* ~" T
topleft, bottomleft, topright, bottomright
. _9 l9 f  A2 y5 O* V9 Jmidtop, midleft, midbottom, midright/ {: I5 s% L) Z) u3 X. T9 f
center, centerx, centery% X8 |2 J/ y: B& T1 L- a) s' u" B
size, width, height
5 ]- _( e+ F7 F9 m, z$ Vw,h
- {0 s, L; j& n  H% M7 }! |7 `pygame.Rect.copy:复制矩形; n$ B9 [" F+ G! }6 e/ ]* Y
pygame.Rect.move:移动矩形
* O" S8 T, ^9 E  p- V6 r2 C/ Ipygame.Rect.move(x, y):传入偏移量  S( a. q9 B6 {% b& C
pygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象$ [/ _' b4 t# b" Z5 [' A
pygame.Rect.collidepoint:测试一个点是否在矩形内
; M( ?$ d* d' x. rpygame.Rect.colliderect:测试两个矩形是否重叠( e9 }( b6 C& ?: m! E
8. pygame.Color/ L  \" @8 C5 v9 a, a( L2 o. b# O

* a, a' Z! q( @/ B& m: w该类是pygame中用于描述颜色的模块5 ]+ O9 F# N5 R- i; N7 z, g
, z7 i6 m: y$ N* W4 s. x# `
pygame.Color:返回一个颜色
! m1 f3 B0 Q+ B( E# R/ `: k4 A/ a$ q' bColor(name):传入名称
4 w- K! c# z0 J8 U$ p3 A$ ]Color(r, g, b, a):传入rgba参数
: A- V- ?& Y' H# z/ ]* BColor(rgbvalue):传入rgb参数; w  `) J4 @$ |# {
pygame.Color.r:获取或设置其红色值
3 M# s, u$ A% O3 lpygame.Color.g:获取或设置其绿色值
. N* u+ S$ s7 o$ `$ Mpygame.Color.b:获取或设置其蓝色值8 V* }+ c) e, B7 V$ L( I
pygame.Color.a:获取或设置其alpha通道值
- V8 o& p( K- _/ }pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值
8 P) f  A6 o+ I: C4 d* Jpygame.Color.normalize:返回标准化 RGBA 值- C; l, P4 {& n( j& c6 U% X
9. pygame.image
/ }1 d  N! J8 O# a  O' H$ d2 K0 _; ^, J7 V; @) I0 b& v
该类是pygame中处理图像传输的模块
# p1 j5 [" O0 O3 B$ w. {
( d# {& Z+ Z/ D; y' p2 Spygame.image.load:从文件中加载新图像
+ ^" R: E& h$ O$ E传入文件路径和名称
6 i5 D! c4 R! V6 I4 L/ J5 r支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式2 F$ j. O* G6 e1 J2 @
pygame.image.save:将图像保存到本地, V, q/ ~& }" K- w2 w. I( [" @
传入 Surface 对象和路径
, U/ s* _; [* _4 Y9 U. ]5 Z支持BMP、TGA、PNG、JPEG格式
0 z/ v! G. U2 k8 D10. pygame.Surface- _! c+ C+ Z5 o& ?; B; u% m
4 J; g* J6 h- ?/ B0 O9 `
该类是pygame中用于表示图像的模块  d8 V9 B  p6 q  m2 X. m

) x# n% K7 @, k) Z, r; |7 cpygame.Surface:创建对象
2 p' R8 p8 y+ u0 Apygame.Surface((width, height), flags=0, depth=0, masks=None)
, o4 ]! w  o2 e- {/ M9 Qpygame.Surface((width, height), flags=0, Surface)+ n6 R) `2 {8 S& L4 @
pygame.Surface.blit:将一个图像绘制到另一个上方
5 b4 v0 Y9 Z" Kpygame.Surface.convert:修改像素格式* H7 C7 Y4 @7 I
pygame.Surface.copy:拷贝对象
, M- @0 o; n4 ~# N$ c# Qpygame.Surface.fill:使用纯色填充对象
& ^% p5 R7 p, G, {% n* n  opygame.Surface.scroll:移动对象* m* \% }5 g) O  K, ^
11. pygame.mixer
) H  }0 _0 i$ b7 ]
; R! C; O3 |1 p( Q8 H3 _# v该类是pygame中用来加载和播放声音的模块,默认有8个声道6 ~7 J. Q2 D6 e7 o  K) P

: L9 L; x8 e6 B2 epygame.mixer.init:初始化模块
( R" G  R1 T& X# ~% q* i5 j  w8 bpygame.mixer.stop:停止播放所有声道: Y/ g( _( L. Q7 H, B
pygame.mixer.pause:暂停播放所有声道% i) Y  a0 A% a2 s1 l, U* C
pygame.mixer.unpause:恢复暂停播放所有声道
5 v: x9 ^, @) M/ opygame.mixer.fadeout:停止前淡出所有声音
) ?7 B, {4 V/ e6 |: S传入时间参数,设置淡出时间
' T3 q( w/ L0 L3 g8 R  a4 L12. pygame.draw
$ Y+ b% J9 T; H, R0 h% d- d2 `9 h- L4 E& F
该类是pygame中用于绘制图形的模块4 w3 z5 h" Q) U# c" F+ y

9 c8 D6 r! g5 H7 C: ?5 U: T& Zpygame.draw.rect:绘制矩形
' c: v& h# R& K  ~$ `! @pygame.draw.rect(Surface, color, Rect, width=0)1 c, `0 w5 z. S$ x' X+ @/ M7 h
Surface:绘制在 Surface 对象上8 y; d! b' G# B+ r5 o
color:传入 RGB 三元组或 RGBA 四元组0 O& F  k' z  t! ^: E4 l
width:指定边框宽度,0 表示填充该矩形
- l4 d( H/ ^8 z. Ipygame.draw.polygon:绘制多边形
% e* {; |% B6 A9 Spygame.draw.polygon(Surface, color, pointlist, width=0)
* S4 p) X% z  U3 Z* ^pointlist:指定多边形的各个顶点3 k% {) @$ W: P1 H  F0 ?$ b4 P
pygame.draw.circle:绘制圆形
# _$ N: [7 `4 B9 p: `/ X- M6 Zpygame.draw.circle(Surface, color, pos, radius, width=0)( m. A, ?3 _" o) p! q7 x
pos:圆心位置
1 O; F; w7 Q; Zradius:半径9 q) C" ~" M  Y! s' }% |7 I9 u5 X
pygame.draw.ellipse:绘制椭圆
: F+ [' Q) m( E$ Y" V: u( cpygame.draw.ellipse(Surface, color, Rect, width=0)
8 D1 L# m6 b( @5 _0 G1 ~" z4 YRect:椭圆外切矩形9 {" G4 W, w! a% M1 k
pygame.draw.arc:绘制弧线
; I8 J! T3 r5 dpygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)
7 e  D1 c) e( _5 c; a1 ~+ i+ NRect:弧线所在椭圆外切矩形
, \" I5 R" r$ [. y, @angle:弧线开始和结束位置
' S0 ~& U$ ]: K% C. w7 Fpygame.draw.line:绘制线段
1 I; e4 d* d0 ]+ ~pygame.draw.line(Surface, color, start_pos, end_pos, width=1)
- |3 m. L8 F, Z9 c& a8 F$ Hpygame.draw.lines:绘制多条线段' {! T' J4 K7 ~/ G" s: |% y
pygame.draw.lines(Surface, color, closed, pointlist, width=1)3 t5 J+ v# F0 i8 C8 P; t5 `) M
pointlist:一系列点& u8 s: C; o4 |  w8 j
closed:若为 True 则绘制首尾相连
( t( c6 i3 t9 \! y13. pygame.font
, C9 G3 P, q* _' c: R, o, u4 S# }5 ?! j' c$ _
该类是pygame中加载和表示字体的模块* L3 D' O7 K+ k9 T/ U! y% d3 V( C

. ~' e0 m/ E/ q  ^" v& |1 u3 W  hpygame.font.init:初始化  n) W/ {/ U2 l1 o* P- y# x+ m  @% D
pygame.font.quit:退出( P. a; [+ K8 S. S( i6 h& ]4 J2 |
pygame.font.get_init:判断是否初始化$ F" m  D- [1 P
pygame.font.get_font:获取所有可使用的字体4 R3 _# W0 ?. D! ^
pygame.font.match_font:在系统中搜索字体
- S( F3 T' Z$ C7 Z) \+ |* Tpygame.font.SysFont:从系统字体库冲创建一个对象
" o9 W8 }! f; _; V/ x! g2 S6 `; Xpygame.font.Font:从字体文件中创建一个对象, B' L: v% S- o2 C2 v. L
pygame.font.Font.render:在新的 Surface 对象上绘制文本
4 T, e- _& `: @2 T$ t! r1 [8 ?pygame.font.Font.size:确定字体大小) l3 x5 G- X# |5 t, `
pygame.font.Font.set_underline:是否加下划线
* n) |* D5 @  |  h& }% Qpygame.font.Font.set_bold:是否加粗
5 v6 W5 R. Y1 tpygame.font.Font.set_italic:是否设置为斜体
+ n! n) E9 B1 u. y) V; B' Q14. pygame.mixer.music
0 A# }4 k9 V. u
7 ]( V/ d8 x$ @4 b# {' d该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式2 q7 J3 E, I& W5 S7 l# l

( R: o1 C' U9 S! w' z% i: J/ I1 `pygame.mixer.music.load:载入一个音乐文件( \$ x' t4 |/ l- E( D* D
pygame.mixer.music.play:开始播放
& d. }! C1 h/ M7 W. u  ^pygame.mixer.music.play(loops=0, start=0.0), M, X+ t% d1 f; m8 z8 z9 o9 C
loops:控制再循环几次,若为3则一共播放4次7 C% j6 z6 m( x# o$ t  u
start:控制从哪里开始播放,单位为秒7 ~( Q* d8 p% F3 R" ]) P
pygame.mixer.music.rewind:重新开始播放
& H" i$ D+ ^. V3 u" `7 Wpygame.mixer.music.stop:结束播放
( I9 u0 w5 ~8 o  m6 x- u9 H) A$ K2 w. apygame.mixer.music.pause:暂停播放' i5 Z6 `8 ]" J, X
pygame.mixer.music.unpause:继续播放
2 m* U2 B0 _5 rpygame.mixer.music.set_voiume:设置音量
( v' X' ?3 C& Q2 F: |: k/ Z$ e# ppygame.mixer.music.get_volume:获取音量
- y3 T2 I* f$ S7 O8 t2 E' Ypygame.mixer.music.set_pos:设置播放位置
1 b; A; f- \3 @7 X3 `0 X传入一个浮点数,控制从什么时候开始播放0 X) K1 M) p  l$ N5 S6 p9 B
pygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后
% H7 \( o# _4 a* C% x2 M- P9 Dpygame.mixer.music.set_endevent:设置播放结束事件" g  ~3 |8 `3 z& A; {2 _
pygame.mixer.music.get_endevent:获取播放结束事件# |8 R: d8 S% c2 i# {% j
15. pygame.mouse
6 A1 S  c7 b5 w0 D: x# u! u# P2 S5 I. V/ g
该类是pygame中与鼠标操作相关的模块
1 ~  t4 _3 |9 @. e* J+ b0 o% w
2 k3 v: @# w6 S) x( [pygame.mouse.get_pressed:判断鼠标按键是否被按下# {- D+ U1 e: T6 r, W
pygame.mouse.get_pos:获取鼠标光标位置+ s6 ^$ c- h9 Q  G
pygame.mouse.set_pos:设置鼠标光标位置, z) Y. {  G" w& p* V. Q
pygame.mouse.set_visible:设置鼠标光标是否隐藏
4 x- P2 b# O, A1 U. i7 _pygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像/ O: m$ Y: t" P# [: F
pygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像2 k# M1 I8 D  @. k: i1 O  p
16. pygame.BufferProxy
2 [8 E* [3 u6 |0 [1 y% t# u# f9 I, Z& U- g0 ]# N$ r4 b
该类是 Surface对象通过数组协议导出的一个缓冲对象: g, i: c" \5 ~) l
0 ?( z8 T2 X! k! k
pygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象! P. r, L7 y3 N, q1 V1 Z) v- n8 Y
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
8 ?( r2 H0 _* Q7 e% h/ @7 `pygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象" X+ h: i( j5 ?: V
pygame.BufferProxy.write:将字节写入缓冲区
* K' O! [9 b  w! [- e17. pygame.cdrom. C: O$ E0 b' T& ?

# S- u4 A: }$ v4 @" G; }该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘
: L* E! T2 Z2 f
" D2 y% f3 B9 E+ Z4 p- V" D- Mpygame.cdrom.init:初始化模块& s6 I* `' x% o) R9 u$ |6 Z* I* F
pygame.cdrom.quit:退出模块
' J* s1 \5 Q6 N8 ], @. Q6 Q6 Epygame.cdrom.get_init:判断是否初始化成功,成功返回 true; Y. \4 c. E5 x. Y( Z  ]# s
pygame.cdrom.get_count:返回 cd 驱动器的个数! y' [1 `6 X2 O1 x% P
pygame.cdrom.CD:管理驱动的类
8 p$ {5 u2 C* v- Upygame.cdrom.CD.init:初始化
" F( ~+ B# l8 B4 B9 f$ L9 E3 jpygame.cdrom.CD.quit:退出
( W- i/ v" B% ^) n7 O) |9 v0 Mpygame.cdrom.CD.get_init:判断是否完成初始化
( H( x+ x  v) _$ Q( ypygame.cdrom.CD.play:开始播放
; p# ~0 Q) t  q  s& }' p( U) a3 z9 apygame.cdrom.CD.stop:停止播放# {# R7 p8 l( E+ N3 g* Q
pygame.cdrom.CD.pause:暂停播放$ I7 p% T$ m2 j% S7 Q1 z# g
pygame.cdrom.CD.resume:恢复播放" E& N8 i0 P4 _" y
18. pygame.PixelArray; m8 Y, R! r* J  i0 y2 M1 p
( _& N2 M: J9 h
该类为pygame中直接处理访问像素的模块
$ B0 T  g4 J, z% }! X; v) q9 n3 U, o1 @' n, U3 B
pygame.PixelArray.surface:获取使用的 surface 对象7 t' e0 n# Y$ B9 i
pygame.PixelArray.itemsize:返回像素数组项字节大小
6 l6 q: I; B, Cpygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象
: c! B: N+ I8 Z4 Z; P. xpygame.PixelArray.extract:从 PixelArray 中提取传递颜色
# X( _; {6 M. y2 l6 c& T+ V* y0 x19. pygame.cursors
- D4 N( P( u  |( v6 K" P) T" g& _! p, p# f8 [
该类是pygame中使用光标资源的模块
& f) z+ W8 k0 ]! r6 Y+ R
$ |( l" Z" p8 p7 k, G. X7 j, @pygame.cursors.compile:又纯字符串创建二进制光标数据
+ O9 e5 L& o2 S, K& U6 r6 J+ u: \, zpygame.cursors.load_xbm:由xbm文件载入光标数据
( i* G3 N8 Q# X9 g20. pygame.scrap
: M' s8 ^' G+ [  j6 x& B- ]9 {9 ]$ z& ?) }
该类是pygame中用于支持剪切板的模块
/ X$ m2 s+ S% v$ |' M8 U7 r
/ K- k8 f5 h1 y* Cpygame.scrap.init:初始化
8 X( v8 m1 B& l: {% {3 W( Xpygame.scrap.get:从剪切板获取指定类型数据: {, ]3 V4 `; c$ b, C" n$ E! ^/ L
pygame.scrap.put:将数据放入剪切板7 h4 X* ^- u# g0 R: e
pygame.scrap.contains:检测是否获得' Q+ ^+ W, e. u4 e6 H! [6 l
21. pygame.sndarray6 e9 m4 |9 _' C  p6 ^

3 ~! g  O- c% P2 f: s该类是pygame中访问音频采样数据的模块+ C' _. e4 Y9 E3 o) C

' N/ n3 p; z9 mpygame.sndarray.array:将一个音频采样复制到一个数组$ ~* n) n% \1 }
pygame.sndarray.make_sound:将一个数组变成一个音频对象. E& {" m5 _, O' \7 c/ E
22. pygame.transform6 r3 Z, Y9 L# P0 e+ @  p2 p
9 H+ E/ B  u$ E! D7 a5 w& k! Z
该类是pygame中用于改变surface形态的模块
4 \9 V" }$ ~$ e  k% J4 S! U% @  e5 A( {6 P' K6 ]+ p
pygame.transform.flip:垂直和水平翻转
$ ^" }& p8 `$ i' z- |9 upygame.transform.scale:调整大小到新的分辨率, C! b$ r/ z! w# m" q6 Y
pygame.transform.rotata:旋转图像/ d5 T9 N7 Z) t! N7 ?
23. pygame.tests/ J6 _( \  a& s
  V  ], C1 P& c+ U8 j
该类是pygame中用于单元测试的模块
% ]& u# X& y5 |0 ]) _$ z$ |% q3 r! r' i; X! Q
pygame.tests.run:运行测试套件+ W1 `  C' g4 k6 X' K  X  o% L
24. pygame.freetype
2 y( P, ?4 ]  c$ U5 J) |- |% o+ w' r5 p
该类是pygame中用来加载和呈现计算机字体的模块,不常用3 \, }# G  r: z  ]! d9 D9 [, X
3 \8 q8 r* T7 a. t$ Z, W- U
25. pygame.joystick
# I  j1 [& `  L( F3 p- h  D' t
, T6 O/ d% F; M- G9 Q) Z1 Z; _2 D* X该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档& M% `6 V' n9 s' c4 T2 Z2 G
. Y# ^- E8 n4 t1 P1 E5 X
26. pygame.locals
; K5 m% i$ _+ b& w9 [
- c* V+ R. ^6 w! b该类是pygame中定义各种常量的模块
5 J- e; ~4 i  o* I- k
" R* d$ f7 L" t! Z; W0 H6 J27. pygame.surfarray
6 M( o6 [! v: [; `
0 p0 J$ g6 m* B% O6 l$ s6 s该类是pygame中使用接口访问 surface 像素的模块,不常用
  \& ?+ Z6 f4 N- w
# l: P* N& Z8 w: T28. pygame.Overlay
- A$ d, r. q) l/ p+ P$ V
9 d* b3 @3 {# {3 Y/ A该类是pygame中用于处理视频叠加图像的模块,不常用/ T3 d- K3 }1 }3 A
————————————————
1 Q- G% W; C$ J+ a版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。$ q$ F' F- a" D" b2 J
原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241
1 n6 U8 |1 m7 y1 g/ Z, Q8 H/ x: B6 A) O* m  r4 d

0 T. P  r1 b$ a) L8 O$ L




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