数学建模社区-数学中国

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

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

; ]1 U- r1 w: h/ S7 x) _% Wpygame 会用这些函数就够了/ B* T- d2 a/ i6 R
pygame 会用这些函数就够了& g+ [, h9 I" K9 s/ `$ d

# E9 o  I; g4 ?3 g; K; P借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理& n/ \/ E' O* P- P
! u! [1 ?+ j+ \; ]3 U, @: X
前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。7 d5 I* V. B; w- v" u
+ {& K& Y4 T: X: r1 N
本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客9 U$ V* j3 m' }5 J, n7 m1 j
1 Q! G: C7 F5 y  D) A" o
pygame.sprite:基本游戏对象& M6 `) O% j: C% |( [, S! V
pygame,event:处理事件
. r) F8 }) F! G1 H  ]  ]pygame.key:键盘按键
0 e3 K! Q: V4 b5 z! \. Tpygame:顶层模块
! t: _3 X- S* ~6 apygame.time:时间模块
+ J; E' P: W# o5 f& `' Mpygame.diaplay:控制窗口显示( b4 I$ J5 f" S  ]/ t4 L9 S5 v
pygame.Rect:图像矩形模块5 z7 D" e  E4 _1 V# D+ R
pygame.Color:颜色模块
& u! d% M% H! E1 c6 U2 Lpygame.image:图片模块5 q5 D% ], X& p0 u
pygame.Surface:表示图像
  V2 d+ c/ Z+ Npygame.mixer:声音模块6 R- _- H3 d! a# Q0 p& j
pygame.draw:绘制图像+ j* T6 G- Y. C8 u' U
pygame.font:字体模块
8 Y' ?% T7 {2 [7 F  U! Kpygame.mixer.music:音乐模块$ f4 w4 `, S7 U# N+ c1 Y
pygame.mouse:鼠标移动! j/ n, g3 B, A2 ?" I4 r$ `9 g& G& Y
pygame.BufferProxy:缓冲对象) t/ k5 q! m/ w# m8 @5 y0 o& Q
pygame.cdrom:音频光盘
3 T8 R8 P* P* Z0 B5 P# I! R6 spygame.PixelArray:像素数组+ o) D' V+ F! _: F
pygame.cursor:鼠标光标: U! R5 |7 `8 @" b$ _
pygame.scrap:剪切板
$ ^2 J( z, l7 B+ w% fpygame.andarray:音频采样) N" e* l) z/ q8 X
pygame.transform:改变形态: q& C' ]7 F. Q( Y1 J& a
pygame.tests:测试模块8 V! D( e* |- a* }5 s1 i
pygame.freetype:计算机字体
) J# K3 D  y* w; z( cpygame.joystick:外接设备
* d# X) z$ P3 ]pygame.locals:常量定义
4 K  P) O* L* U  A  h6 c/ U# Ppygame.surfarray:访问像素" S0 L, s/ w0 `4 r+ P+ u' [3 ^
pygame.Overlay:图像叠加
) R3 d8 ^! ]9 h+ F1. pygame.sprite% B' e  H( T. h

7 Y5 H2 N3 V' ^* x/ p4 U9 n该类是pygame中处理基本游戏对象类的模块
1 g! ~) X: h! q, h* C4 g3 Y* _6 m
! {6 P% a# }" m4 R; }: bpygame.sprite.Sprite:可见游戏对象的简单基类& i: \; p/ r# v  u- x( Y; y
pygame.sprite.Sprite.update:更新状态
- Z* ~, B4 o4 H4 u- \pygame.sprite.Sprite.add:加到组中
9 ^# i$ d& X1 x# y/ r5 J; n! Bpygame.sprite.Sprite.remove:从组中删除  e! R$ W9 L3 C
pygame.sprite.Sprite.kill:从所有组中删除- \7 s8 h5 E$ A8 K1 H
pygame.sprite.Sprite.groups:包含此Sprite的组列表( N: s( y* g" @/ K5 `
pygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类' ?8 \0 [- X  w; {) t5 _
pygame.sprite.Group:保存和管理多个Sprite对象的容器类
$ J* ]) T# _% Tpygame.sprite.Group.copy:复制组$ k) F( A7 e5 V- T2 I0 y3 ~' L. I0 X5 J
pygame.sprite.Group.add:添加到该组
( K5 r/ G4 J/ R6 L5 @& v- Rpygame.sprite.Group.remove:从组中删除9 c9 t. S/ S; H
pygame.sprite.Group.has:检测是否包含
' `3 t* `0 @% C2 D, h9 t, R/ Gpygame.sprite.Group.update:更新状态) o4 h: h/ o* x' N
pygame.sprite.Group.draw:绘制图像
3 b4 }% g- Q# D5 _* Z* y4 |pygame.sprite.Group.empty:删除所有# b$ i/ v2 P$ G% b' _0 k* X
pygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞: s- I! k- |6 _4 B' ]) J4 I
pygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞
: w5 N/ D, c3 w, {3 apygame.sprite.collide_circle:使用圆来检测碰撞
1 u/ x6 X$ g6 H1 V+ c) t3 C3 Tpygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测) a" t: g4 a4 _5 m6 a) M
pygame.sprite.collide_mask:使用蒙版检测碰撞
% G: W8 C' ?/ X( S8 f2. pygame.event
4 D8 Y/ {2 B3 m& S$ c; a, ?8 D& J0 [, }) _$ S# M3 Z
该类是pygame中处理事件与事件队列的模块
; Y" b/ ~9 o  |. Q
: K/ d6 E$ P5 Zpygame.event.pump:让其内部自动处理事件
( i  R& i$ \, O9 H1 V4 P9 F: N* Epygame.event.get:从队列中获取事件1 X8 |% @5 c6 a, E/ O1 K
pygame.event.poll:从队列中获取一个事件, u1 m7 v  c: r* }& o8 p
pygame.event.wait:等待并从队列中获取一个事件
, R; s: I0 _' ]) Ypygame.event.peek:检测某个类型事件是否在队列中
  H$ ~3 U# e+ d, Ppygame.event.clear:从队列中删除所有事件/ l) t  s% B1 c3 Y& F7 C
pygame.event.set_allowed:控制哪些事件禁止进入队列- p0 |3 b  d5 Z) z3 Y
pygame.event.set_blocked:控制哪些事件允许进入队列
+ F2 u9 S$ l/ ]6 z6 t! Y- fpygame.event.post:放置一个新事件进入队列
9 Q8 O- }+ ?4 z, E: `0 Rpygame.event.Event:创建一个新的事件对象8 Q; I3 M* t7 |/ v. z' b5 H
事件种类:/ k) d( |; n4 W9 Y6 l
QUIT:退出
+ F0 u9 S' ?$ O; t( ^KEYDOWN:按下按键4 v- b- j0 o+ K, U. D6 R& }0 f1 s
KEYUP:松开按键
, E7 X: C5 H; Q; ~, h" u  `MOUSEMOTION:鼠标移动
# s5 I' c! u8 A其他游戏杆、游戏手柄、追踪球事件  P( X$ Q7 N  S( v. {! l+ W- @
支持自定义事件
  Y' C% ^/ ~$ x3. pygame.key1 p8 H6 t2 b6 ~

% s/ o  T6 @) c* w$ ?该类是pygame处理与键盘有关的模块
9 ~( `" c5 ]( c# ]. b+ s
9 W3 C, ~- N  ]. l) J; j  B! \) tpygame.key.get_focused:窗口获得键盘输入焦点返回True
4 u5 A1 d' S& apygame.key.get_pressed:获取键盘所有按键的状态% ~, l; z7 s$ n" b
key属性:pygame预定义的键盘上的键位: g2 O9 N# ?0 o
mod属性:pygame预定义的组合键! C# L, z& K* J3 ?, ~+ X$ b! t
4. pygame( z4 d+ j' x8 y$ W( }
$ D) R2 c) X9 Y: m" Z7 B
该类为最顶层的模块
3 S& v: ]. p6 Y& Y+ b2 l
: P: b& I% @8 d" e- A3 `pygame.init:初始化导入所有pygame模块
! p0 `* j, L! B/ B  N- |2 [, \  vpygame.quit:卸载所有导入的模块$ [1 J: s& Z' v' |; D- N
5. pygame.time2 c3 t9 G. L+ D$ s# ^: _3 I+ s

3 U% i" g' Q- a/ Q8 H, b# c该类是pygame中用于时间管理模块2 @5 x) O) Q0 ]$ `' D
6 \* X7 F6 ~. K5 I0 |* D
pygame.time.get_ticks:以毫秒为单位获取时间, x+ ^5 U  w% [. @
pygame.time.wait:暂停程序一段时间( R! s. A( z7 Y% {2 z" _3 Q
pygame.time.delay:暂停程序一段时间4 M4 u% `0 \' z4 ?% _" r
pygame.time.Colck:创建一个对象来帮助或更新时间: P; x" ]6 z+ W* j  F2 D; ^6 M
pygame.time.Clock.tick:更新clock对象6 D$ _8 \5 G+ i* k% @2 C$ O( S
6. pygame.display3 K1 `' D) q' R) _, e0 |4 X
$ r# ?' y6 k# ^$ v3 v
该类是pygame中用于控制窗口和屏幕显示的模块  e4 p4 p3 s# X2 f

$ m5 y" m  s! d9 Opygame.display.init:初始化模块
! v$ k% C3 s$ ~* N9 J4 I! ]pygame.display.quit:取消初始化5 @# {4 ~6 L6 X% R9 M
pygame.display.get_init:判断是否初始化成功  E0 q! f* h8 A( M3 F: Y0 I/ D
pygame.display.set_mode:初始化一个准备显示的窗口或者屏幕
- `6 V7 c# T( {6 ?% ppygame.display.set_mode(resolution=(0,0), flags=0, depth=0)7 T+ d) C+ U- t/ V( u. r; P
resolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率' o" x9 Q. ^8 N0 X
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合) R$ M+ s- n- ^0 d! ]8 d3 I- f
pygame.FULLSCREEN 创建一个全屏显示% F  b. Y) Y* ~, w3 T- z
pygame.DOUBLEBUF 双缓冲模式
1 E' D# L# a9 ^2 k2 Kpygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
% p* {/ [. u+ C( K9 Ppygame.RESIZABLE 创建一个可调整尺寸的窗口1 Y1 x. z0 I; Y7 ~4 c- {
pygame.NOFRAME 创建一个没有边框和控制按钮的窗口
2 B# e: }5 d( |3 b- T% S6 R6 W+ cdepth:深度参数,一般不传值5 x5 v* U/ _' t( R) i
pygame.display.get_surface:获取当前显示的 Surface 对象
( w# J3 t) i3 O; q: H( F5 jpygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上% B2 s6 n- F) q; M  ?9 _  e3 [/ d
pygame.display.update:更新部分软件界面显示. b  Q+ F  p$ {+ D* S; Z
pygame.display.iconify:最小化显示 Surface 对象
1 x3 V" t$ f! `% `5 I( g) Ypygame.display.toggle_fullscreen:切换全屏显示和窗口显示5 N7 ~" h7 T. ^9 R  R: Q) {* j6 b
pygame.display.set_icon:更改显示窗口的系统头像
1 ?# f0 c0 x4 X( m3 W" q* O, Wpygame.display.set_caption:设置当前窗口标题0 T# ?# H2 }* ]5 D) {
pygame.display.get_caption:获取当前窗口标题1 q$ ]! z" L  F' j$ B
7. pygame.Rect) A; K* A+ c' h# ^- E% P& v# s

. `* x& b+ \* L) s该类是pygame中直接操作对象外界矩形的模块
9 Z9 Q+ X$ s& J/ r5 i/ @* _/ f* x* p
pygame.Rect:创建矩形对象" q  X$ l  }" n" B: u8 U+ J8 C% H5 r
pygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形1 E6 ], O' U, h. t  @
pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形
. l* K& u" w1 d; A8 y3 v该对象具有用来移动和对齐的参数7 ~$ a  x: U; f# w+ ]% H- b
x, y
) u) `) I" f7 Qtop, left, bottom, right4 b6 l( d5 }6 n" R( x: g9 Z
topleft, bottomleft, topright, bottomright3 l, d9 L! ?; Y# P$ ^
midtop, midleft, midbottom, midright  I# w: b" ]  J
center, centerx, centery
" N/ o# n7 H' j3 E  ksize, width, height7 X9 x9 S; c3 g3 x. d
w,h/ \1 X% d! G% S- C* J
pygame.Rect.copy:复制矩形" s! J5 I9 O$ F4 L" m4 }# H
pygame.Rect.move:移动矩形5 h+ Z; G6 u# ]% z
pygame.Rect.move(x, y):传入偏移量( _( Q. H& ]6 a
pygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象9 b5 X% R4 }9 M2 H* w
pygame.Rect.collidepoint:测试一个点是否在矩形内
& K- |$ G0 j9 `5 X9 k8 X7 ypygame.Rect.colliderect:测试两个矩形是否重叠4 a9 H: P- A% \& C' O# H
8. pygame.Color
' E7 l8 R/ B. T. }) h9 o, S
& c4 Y" G  b" y" B3 T3 h该类是pygame中用于描述颜色的模块6 t7 r4 S( o9 `. o- q
9 t& a0 o0 F" Y# x( I8 q" x
pygame.Color:返回一个颜色
# w2 d; j; y- T; o. G7 sColor(name):传入名称
* g% f8 v+ E7 S3 G$ O: RColor(r, g, b, a):传入rgba参数# ]: I1 k7 p! O/ K9 k
Color(rgbvalue):传入rgb参数
, t  T& n* P3 k7 k  qpygame.Color.r:获取或设置其红色值! C/ h- e& i2 H3 K4 k" H
pygame.Color.g:获取或设置其绿色值" n7 w3 y7 X: Y" S
pygame.Color.b:获取或设置其蓝色值+ g7 p* m# m# Z' d; v
pygame.Color.a:获取或设置其alpha通道值" \7 R) Q( b6 T; z
pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值; |/ E, X. ?7 I# h
pygame.Color.normalize:返回标准化 RGBA 值  G1 `* Q! S/ t. {8 t8 g# k0 L
9. pygame.image
( q6 {" L9 L) @0 m& r- H2 j
0 ~# G. z# g: ?+ x* D! Z) W( d- a2 `该类是pygame中处理图像传输的模块
" }, `' P4 T/ P4 ~6 z9 J  b! z4 H- W* w7 \
pygame.image.load:从文件中加载新图像1 F% A% w2 l9 @. `) s( _# D, u: t
传入文件路径和名称. U) X, X7 \$ O; X* U
支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式& w' B, I$ m, ?/ N
pygame.image.save:将图像保存到本地1 T: f1 D  l7 x! ^! b
传入 Surface 对象和路径
/ d4 \: A6 C1 Y+ l# F- c支持BMP、TGA、PNG、JPEG格式
$ f8 B) n, Y; L: M' n3 [: A10. pygame.Surface) @! \! h8 u9 E

, w# r# t- v& a5 Y该类是pygame中用于表示图像的模块. W: v+ c( {# D5 D' m* p  b
3 k! u: V2 S8 ?" K4 b5 J5 [
pygame.Surface:创建对象- [  ?' C  A' ^. N2 s
pygame.Surface((width, height), flags=0, depth=0, masks=None)
* Q4 Y! ~6 u% rpygame.Surface((width, height), flags=0, Surface)8 L5 m2 a. N$ E  d
pygame.Surface.blit:将一个图像绘制到另一个上方! L5 N" h! X- R
pygame.Surface.convert:修改像素格式
% J( o+ i+ x: B4 F. qpygame.Surface.copy:拷贝对象7 B3 Q3 q6 N# S
pygame.Surface.fill:使用纯色填充对象$ C, z" T4 f0 J2 V- T! W7 T9 u
pygame.Surface.scroll:移动对象
: r9 j/ |) d! y% X11. pygame.mixer
7 `+ `7 h$ K) h
& M" |. h1 Q! a; z/ O; d: b该类是pygame中用来加载和播放声音的模块,默认有8个声道
; B" Z& @* t- M* C' b
& w- P- l+ `" P9 Dpygame.mixer.init:初始化模块4 \9 @$ p8 T' o& T
pygame.mixer.stop:停止播放所有声道
4 T: I* f# s7 j( Tpygame.mixer.pause:暂停播放所有声道
  L" `2 I2 X& upygame.mixer.unpause:恢复暂停播放所有声道
, d2 ?# c& D- Y8 Y* hpygame.mixer.fadeout:停止前淡出所有声音
( z5 l2 S# s/ @4 n3 x! f传入时间参数,设置淡出时间
2 z! z2 N% x3 l* F8 j12. pygame.draw
$ b+ ]1 g4 I7 W, M1 o2 q- U" R+ F" H6 W5 q
该类是pygame中用于绘制图形的模块/ o8 I0 O* E* e+ `  T
- y0 l& x2 ~4 [
pygame.draw.rect:绘制矩形8 j; a( I/ n3 `$ }: u$ p. U
pygame.draw.rect(Surface, color, Rect, width=0)
) v! g% W: }' [2 M( fSurface:绘制在 Surface 对象上! F9 ^) f8 P) V; @; [' {
color:传入 RGB 三元组或 RGBA 四元组
8 q0 ?- m* l& {1 v; F; twidth:指定边框宽度,0 表示填充该矩形
( W. W3 \! b% w% Rpygame.draw.polygon:绘制多边形
1 S  `8 c* ~' |/ d7 y  X. Epygame.draw.polygon(Surface, color, pointlist, width=0)
% t" i# Q7 b, T' Epointlist:指定多边形的各个顶点
. T1 Y% Y: F$ rpygame.draw.circle:绘制圆形
! K2 Z2 j5 J* U7 w% g; L: `pygame.draw.circle(Surface, color, pos, radius, width=0)
7 |) Z4 C: L. U$ Upos:圆心位置8 S0 C! I' ^/ H6 U* f! y2 B( b0 C
radius:半径
  V: x$ ~) _) g) ^: O! r6 q/ Y( hpygame.draw.ellipse:绘制椭圆( n/ o' M5 ~2 @' P$ J
pygame.draw.ellipse(Surface, color, Rect, width=0)8 v" H& J0 J+ p
Rect:椭圆外切矩形/ m9 T9 [: p) e+ f
pygame.draw.arc:绘制弧线
& l# e) m# X5 K$ @pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1), K3 k* n  M) ]$ [/ U) r# B
Rect:弧线所在椭圆外切矩形
7 n- _4 I. N5 V0 V& k& r! Eangle:弧线开始和结束位置- _5 z: f. m3 s, ?( q
pygame.draw.line:绘制线段" x- N6 B. Y: e+ b0 e/ _. I6 `
pygame.draw.line(Surface, color, start_pos, end_pos, width=1)0 D) @9 B" E' K4 F6 M, _% t
pygame.draw.lines:绘制多条线段7 _0 k7 I, U+ ~, m6 {% ~$ F: F
pygame.draw.lines(Surface, color, closed, pointlist, width=1)
' h, d% B/ q# |; ~3 K$ xpointlist:一系列点
) C& J& I- r( n2 R9 d  a$ [( u5 _; Dclosed:若为 True 则绘制首尾相连
3 i) I- s# X; _, P9 @13. pygame.font
2 A5 _! Z1 a7 b) f  j/ E' B
1 m! K8 z& ]" q* F( r0 c6 b该类是pygame中加载和表示字体的模块/ O0 `; m8 F6 J( Y/ I3 R& W
4 J/ M  {$ r6 s1 `7 V4 b
pygame.font.init:初始化4 Q: m2 ^, b% ]7 c5 L
pygame.font.quit:退出6 m( `: U* f, Q) t) U
pygame.font.get_init:判断是否初始化
% i, O. R/ T0 ~4 h; e# G9 Hpygame.font.get_font:获取所有可使用的字体  ?' G& P! @. D' W
pygame.font.match_font:在系统中搜索字体! t; J8 R6 k. }
pygame.font.SysFont:从系统字体库冲创建一个对象# P' n6 f7 P4 m: z+ `8 n1 l, x
pygame.font.Font:从字体文件中创建一个对象. W8 S- H7 g* L: Y' R: u
pygame.font.Font.render:在新的 Surface 对象上绘制文本
, o! |5 f5 u( e) B- rpygame.font.Font.size:确定字体大小
! q9 O3 ?+ d5 Zpygame.font.Font.set_underline:是否加下划线
# X/ U1 k; }& ]0 v6 S$ wpygame.font.Font.set_bold:是否加粗
4 _. }& X( o: Opygame.font.Font.set_italic:是否设置为斜体
' j8 ~2 d' ?8 h# p2 i4 j: @14. pygame.mixer.music
6 H" }" f7 r/ ~) l" L2 |4 u: k& j5 J* v6 o( {* Y; n0 K3 B
该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式
2 u$ C: ?7 C- s" c- l( E5 u% q- T2 h9 q- r" {, J3 R$ M  C
pygame.mixer.music.load:载入一个音乐文件9 Q9 ?& f: [6 ]7 {, T
pygame.mixer.music.play:开始播放
( b5 s* {# d9 `pygame.mixer.music.play(loops=0, start=0.0); x9 ?5 G% Z5 n& z3 P- [; o. }/ @
loops:控制再循环几次,若为3则一共播放4次  K; z0 o. G: ^! s5 l! v8 i5 Z4 n
start:控制从哪里开始播放,单位为秒  f' W7 ^2 C6 M8 @
pygame.mixer.music.rewind:重新开始播放
  ^+ M" N8 [& @/ }: b5 S9 Hpygame.mixer.music.stop:结束播放
$ F  K9 R7 u5 v6 _pygame.mixer.music.pause:暂停播放
9 {3 S/ X7 K9 h! N8 @pygame.mixer.music.unpause:继续播放- x, U5 _% a1 ~1 y  y: |
pygame.mixer.music.set_voiume:设置音量
" ~! \" ^" Z2 }" V* G4 E8 cpygame.mixer.music.get_volume:获取音量- u! M+ P; N4 T. ^# f
pygame.mixer.music.set_pos:设置播放位置/ f  ^8 @' ~# l( t
传入一个浮点数,控制从什么时候开始播放
) r5 J5 y& y; S3 D! \pygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后
0 z0 X$ w5 K: w. bpygame.mixer.music.set_endevent:设置播放结束事件' V  O: Z8 ?- f6 T' @
pygame.mixer.music.get_endevent:获取播放结束事件) ~( @4 C/ ]! S, i2 Q
15. pygame.mouse
; L, z% x, N6 d+ t2 `
% f! J# V, F4 H* |: a" m该类是pygame中与鼠标操作相关的模块2 g3 a% U+ Y0 l9 j+ a

( g2 \4 m5 a# _& z- n  {pygame.mouse.get_pressed:判断鼠标按键是否被按下1 `# h5 w- t7 |, |2 H# {2 T* K. p
pygame.mouse.get_pos:获取鼠标光标位置
. Q+ O/ j- y$ G: mpygame.mouse.set_pos:设置鼠标光标位置
; v5 B# K; k  [; `, u- Ipygame.mouse.set_visible:设置鼠标光标是否隐藏
# @+ r) s/ i- gpygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像
0 y( {$ A9 x9 opygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像
" }/ e) K; m* C/ {" Y' i) c& q: \4 d16. pygame.BufferProxy
4 F6 j* {4 c/ q7 I3 h  b% L' @0 N
$ X' l3 l4 M9 S该类是 Surface对象通过数组协议导出的一个缓冲对象
0 J* \' g8 |6 U1 C) _3 J% N  l3 m! z* y. i" J
pygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象6 K( u( h% @3 @5 O: g
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
% ]/ o8 G( e- E3 E+ M/ Kpygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
! }% T! d' ]" A+ R# l& `% M# ]pygame.BufferProxy.write:将字节写入缓冲区2 h  F, Z' x  H- Y
17. pygame.cdrom( C* E0 F4 L) M9 s+ G+ G
6 @( h4 f7 I3 }* D' P
该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘
8 L6 I/ ~) H9 E  q6 [# @" ]0 E
7 g- g! W4 l1 R/ r) |$ o  q7 {% [pygame.cdrom.init:初始化模块- V6 t" q0 L3 O
pygame.cdrom.quit:退出模块
  u9 s& ^  R8 c0 F3 opygame.cdrom.get_init:判断是否初始化成功,成功返回 true
* ~& H& N# Z( \, Z; F: Npygame.cdrom.get_count:返回 cd 驱动器的个数
6 h& T3 b# V% c4 rpygame.cdrom.CD:管理驱动的类+ x/ S  {- r" _4 @9 Q/ t$ n& n
pygame.cdrom.CD.init:初始化. x0 q' Z" A7 U% o
pygame.cdrom.CD.quit:退出  A2 c. a' O3 @/ [
pygame.cdrom.CD.get_init:判断是否完成初始化/ I& q; E% m( k& F; h
pygame.cdrom.CD.play:开始播放# n% u# ]0 X& ]; ^
pygame.cdrom.CD.stop:停止播放
$ o& l/ t5 a" a' X% c5 ^4 Fpygame.cdrom.CD.pause:暂停播放
& x9 [! X7 v/ f4 H2 ~  Epygame.cdrom.CD.resume:恢复播放
4 X3 g  T5 X" }1 q, I3 A18. pygame.PixelArray
9 g7 e; r* l' w, x* {% t& p: ?1 L
该类为pygame中直接处理访问像素的模块, I: x  x: m) ]  [' t6 K
! b7 _$ ?! l9 j& w/ \
pygame.PixelArray.surface:获取使用的 surface 对象
& S8 U0 e4 e3 U3 @! Y" i7 \7 Npygame.PixelArray.itemsize:返回像素数组项字节大小, R( x$ x! N* D" e1 C+ d" I
pygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象
1 V! }  V6 Z3 ^2 Q: Fpygame.PixelArray.extract:从 PixelArray 中提取传递颜色
6 O) H9 t5 i. ~/ u19. pygame.cursors( s4 [+ S& Q8 M1 C

. A3 }0 [: S- F: q该类是pygame中使用光标资源的模块( ~/ Q$ W& B* y2 _
2 [; V' G0 t9 l4 p0 }+ ~$ G/ Q
pygame.cursors.compile:又纯字符串创建二进制光标数据9 }! F  e1 m$ ]' ]2 J  |/ q& n
pygame.cursors.load_xbm:由xbm文件载入光标数据5 S; s" g" P  R. A8 V: o/ K
20. pygame.scrap
  I/ k) L* s- Y8 A# X' f! C" @7 f$ P2 K0 w' i* @% L9 |# a
该类是pygame中用于支持剪切板的模块
: N8 S4 o  B8 @5 J1 O
; F; o1 _" R/ v, }8 ipygame.scrap.init:初始化' P6 B* x  y; }9 t- p5 h6 p# ?; Q
pygame.scrap.get:从剪切板获取指定类型数据4 l1 l5 f2 j* B4 m* l5 V) R
pygame.scrap.put:将数据放入剪切板
1 }: Q" }% P8 m5 x* p6 m6 ipygame.scrap.contains:检测是否获得4 w4 `  ]5 z3 j5 [7 G7 P# }
21. pygame.sndarray2 P/ [' T* u$ d. j! o

0 d; ^, {" K# w7 [8 M  |7 g该类是pygame中访问音频采样数据的模块0 {* b: w3 S# v/ O7 V" ~+ a" r! g

& _- C! s$ ?, v: o3 R( |! y' r# {pygame.sndarray.array:将一个音频采样复制到一个数组
" T0 n! N" ]/ `! p& ^2 ppygame.sndarray.make_sound:将一个数组变成一个音频对象5 P' R' v% p1 Q' _- U9 e% f
22. pygame.transform
, f7 X; J7 L9 w6 s( k3 \3 D
  r6 L: L4 P! n  F5 m2 `# y该类是pygame中用于改变surface形态的模块
1 M1 j- h  S& I5 Q: ~
0 m4 b2 k% O9 ]- n7 r# jpygame.transform.flip:垂直和水平翻转- @4 _* Q& r; M" c* e+ o
pygame.transform.scale:调整大小到新的分辨率
$ ?- \9 O$ `1 Q5 k" j( Gpygame.transform.rotata:旋转图像6 P) I; @0 `5 [7 n3 ]: Q
23. pygame.tests+ Q4 Y$ Q4 X  f% \

; u# m) c4 G6 M2 R- A该类是pygame中用于单元测试的模块  E$ o' b/ K9 y" h4 k0 W
5 H5 ~7 C5 `* t& E' m, w: N5 Z3 x
pygame.tests.run:运行测试套件& ]% k- W% ^/ X4 U  {' _
24. pygame.freetype, s3 N6 R0 a5 A. K3 Y5 j1 M

  _! N3 Y3 }, U+ u& |该类是pygame中用来加载和呈现计算机字体的模块,不常用
9 L% P% u+ ?# P0 Y6 {
  v, W1 A; H2 h- R, S9 X25. pygame.joystick' z5 \: ^$ o& B% Y, }5 b

1 p" {0 K# M& _6 `9 B该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档
- L- Y& J- @% G. s7 Q0 L# }6 s4 B6 X) ?& Y
26. pygame.locals) _* s/ I/ H( w3 p7 r9 g6 m

0 q7 Z) `% ~6 j" g/ |2 z该类是pygame中定义各种常量的模块
" ]$ O: z1 {& E6 @2 t& G! z! a/ a1 X4 u" ], g; }
27. pygame.surfarray
" L. v& y! M! T% S+ I' g3 v- D
该类是pygame中使用接口访问 surface 像素的模块,不常用4 a! O  Z4 M2 m( |
3 N( n8 c; l4 n
28. pygame.Overlay4 D7 q" r+ c# U; e$ y2 R  F) V6 Y" \0 ^

1 p/ j( d( z. N; ~5 Z# Z* ?该类是pygame中用于处理视频叠加图像的模块,不常用
; E3 Y5 [0 V  @( }% f/ |% c————————————————# U. Q) x1 I) l9 b3 v' U3 a4 X
版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
9 p1 ?9 g9 M; z; k5 R原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241; E7 I* t: t4 x, [- q1 o/ O3 B% y7 I

3 o- F  k5 X, J# @0 t: @- Q4 q
& L( A1 M4 E4 I0 _" f2 x7 O3 g1 ?




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