数学建模社区-数学中国

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

作者: 杨利霞    时间: 2020-4-28 15:00
标题: pygame 会用这些函数就够了
! x: _' g/ U6 ~& \) W* s* i
pygame 会用这些函数就够了
( ?% c8 M: o% `" g6 G/ e8 A; C. Q0 M% Qpygame 会用这些函数就够了
1 J, Y" t( ~) R- G2 r
" ^3 H/ F' s; x9 g借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理
) Z  b" A2 _4 P; R5 O, Z
9 x# j$ L# m/ N: I5 w前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。
! m8 H7 Q2 t( y% T: j% S) w) H* D' e9 ]
本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客& l5 _( {% B0 m- \0 ^
  a. V$ f3 h/ v: I5 T
pygame.sprite:基本游戏对象
0 d9 `" }+ t. \/ ppygame,event:处理事件
! z. ~1 E4 O, B  Xpygame.key:键盘按键
& k( Z& y/ `3 j8 }pygame:顶层模块
( s  P3 R/ H, N7 n8 k, W( j; L; S0 Dpygame.time:时间模块
0 c3 W( h8 @, jpygame.diaplay:控制窗口显示3 y7 U$ C- @5 m& a: |8 i; T- ^
pygame.Rect:图像矩形模块& w+ a$ O0 E6 t# Q5 D
pygame.Color:颜色模块. y; j) q! M% X+ `. j7 B" U1 ?0 G
pygame.image:图片模块8 {: S2 T( u1 ~! t, {
pygame.Surface:表示图像
6 N# W- H0 Q+ i8 H! p( Jpygame.mixer:声音模块
( a* y3 q+ W, U" Bpygame.draw:绘制图像5 h( E7 W, `4 x0 e
pygame.font:字体模块
: r/ y$ K* b, L) t; h2 W; Cpygame.mixer.music:音乐模块
6 K/ J+ @" n# [# Gpygame.mouse:鼠标移动
: B# U6 e( I# G8 N9 I9 ?" dpygame.BufferProxy:缓冲对象
- y0 K2 M, Q' T, t, L3 f; q, c4 tpygame.cdrom:音频光盘' v& q2 x% o0 `
pygame.PixelArray:像素数组
! E$ g  p7 p& G, Z2 Npygame.cursor:鼠标光标: l6 R5 l) O, u) L/ B2 [0 y1 ^+ }% s
pygame.scrap:剪切板% c) u: s" v5 t6 u2 R& p# f
pygame.andarray:音频采样; u3 V; `6 [, a3 P; J
pygame.transform:改变形态, G" {3 U6 {8 [0 }5 [. r3 Z
pygame.tests:测试模块2 o* P! k9 z7 y7 J, @& |" p! a
pygame.freetype:计算机字体; @# K- t+ h  M; t: H% p
pygame.joystick:外接设备* h4 S' V9 o  r, `  h4 ?
pygame.locals:常量定义7 [& R) \2 D/ W) S: V/ X
pygame.surfarray:访问像素
" M- L5 C6 V: _pygame.Overlay:图像叠加8 v6 y" a' u" V' A
1. pygame.sprite
$ T6 v2 H7 k  }2 ]& H7 x7 k9 w# C7 ~$ L; H. C0 _6 M7 f  n
该类是pygame中处理基本游戏对象类的模块+ s2 U( K1 S( N4 b3 l' i

1 x5 f% E2 {( vpygame.sprite.Sprite:可见游戏对象的简单基类
( u% O% d  g+ d0 ypygame.sprite.Sprite.update:更新状态. Z3 F) ?* }. Z2 G0 u3 ]
pygame.sprite.Sprite.add:加到组中" L# d% C# ?5 A4 \! r
pygame.sprite.Sprite.remove:从组中删除
( @$ X; }9 b( a; O$ G! jpygame.sprite.Sprite.kill:从所有组中删除7 _. _' A1 ~  M: R) I# m) I
pygame.sprite.Sprite.groups:包含此Sprite的组列表4 F" j4 g7 A' V4 I1 [8 `, x
pygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类
% g/ Z2 }) C/ }, v+ bpygame.sprite.Group:保存和管理多个Sprite对象的容器类' x0 x* Z# m# G9 C
pygame.sprite.Group.copy:复制组
: l2 |! e+ [: ?% |2 X$ Qpygame.sprite.Group.add:添加到该组5 B. m# F, n) D$ W) c# \1 u( Z4 m
pygame.sprite.Group.remove:从组中删除
0 w' Q7 y/ n4 }$ Kpygame.sprite.Group.has:检测是否包含# ~) ^' @& i: l& }% r! N) q3 [
pygame.sprite.Group.update:更新状态
1 ?4 I% ]$ m. G9 Q9 upygame.sprite.Group.draw:绘制图像
0 }2 ~+ p7 C( C% h! E( npygame.sprite.Group.empty:删除所有
+ T- H" Z- e: |: e0 B% j. Xpygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞+ n9 P3 l- {; R0 D1 j8 S3 {
pygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞
& ?/ F' c$ R9 P! u% ^* cpygame.sprite.collide_circle:使用圆来检测碰撞
, p. ]; h7 e9 D5 {: \pygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测
; H7 W* }  M4 cpygame.sprite.collide_mask:使用蒙版检测碰撞6 G7 k: k3 V" Z8 H
2. pygame.event
& @8 ~. c* C) h4 m+ O/ L0 b. N* `1 F, F* H. m, [
该类是pygame中处理事件与事件队列的模块
& K; L) u, y$ v( f) U, k4 e) N2 `* e9 c4 Y# o1 q
pygame.event.pump:让其内部自动处理事件
9 Z3 {) Y( c: F/ _7 b) ppygame.event.get:从队列中获取事件
. l% [8 \9 Q. R6 O6 {( epygame.event.poll:从队列中获取一个事件
, s* D3 K. B* Y7 `$ ^pygame.event.wait:等待并从队列中获取一个事件0 S1 a9 T$ \# C* J7 A( u
pygame.event.peek:检测某个类型事件是否在队列中
: l& _# _( c* ypygame.event.clear:从队列中删除所有事件
4 o6 d/ a) y4 S& c7 |- o  b% |pygame.event.set_allowed:控制哪些事件禁止进入队列. {9 Z0 z9 i! e+ j. g- I
pygame.event.set_blocked:控制哪些事件允许进入队列  H+ P! T7 V* s8 m' }1 v
pygame.event.post:放置一个新事件进入队列
/ y& U+ g; f! K6 _, jpygame.event.Event:创建一个新的事件对象
8 K9 P0 R' g! H, \% _% z事件种类:' Z( h; p; w1 ?1 ]) m2 P
QUIT:退出
! a1 i2 A6 L% K- ?3 D* G1 }! V6 nKEYDOWN:按下按键
, t3 k/ F7 P& G' XKEYUP:松开按键
; j/ S' H9 R1 |, ^5 Y+ eMOUSEMOTION:鼠标移动/ ]0 J2 r' W+ O
其他游戏杆、游戏手柄、追踪球事件
' I+ d% j& P7 s/ C  v. Q  A/ s, `支持自定义事件6 O8 K; [% c' H  v3 s* }
3. pygame.key" \3 r) _" Y0 h; l1 E. X+ \6 o

1 `1 `, m2 u4 X该类是pygame处理与键盘有关的模块/ w& D6 i7 y; e+ y( a7 ?
, h2 |' F) B# k
pygame.key.get_focused:窗口获得键盘输入焦点返回True) ?) B  e+ Q- @/ C+ ^7 ?6 L/ C3 w
pygame.key.get_pressed:获取键盘所有按键的状态! o$ ^( I* h: V1 `6 e$ V
key属性:pygame预定义的键盘上的键位+ N5 U" t, m, \, g4 `: j! b
mod属性:pygame预定义的组合键
& T# Y0 A1 P( m0 r4 L+ g; [; G# p. o4. pygame5 ]6 m; [3 h! E2 ~! `
2 I/ w% Y1 y! v( b7 Q
该类为最顶层的模块% L! T+ t9 P+ S
. V  j5 b5 D1 p8 e3 F2 p
pygame.init:初始化导入所有pygame模块# w* Z% y+ j+ k" d7 `1 d& O+ Q
pygame.quit:卸载所有导入的模块0 C  w* Q$ C, b9 S: \2 d
5. pygame.time
0 y4 e. @0 ~3 t& m% G# S" q' b$ b( f$ \, P  }' t7 u& P! ^) D
该类是pygame中用于时间管理模块5 _/ @+ V! X. S2 |% K: o: G4 I' t

9 v6 a7 X9 R  ~9 X  e3 gpygame.time.get_ticks:以毫秒为单位获取时间
! S9 o4 X5 \- F+ {) Rpygame.time.wait:暂停程序一段时间  `1 ]# e8 ~4 U5 W' b" X
pygame.time.delay:暂停程序一段时间
% I, i/ l9 [  w1 }pygame.time.Colck:创建一个对象来帮助或更新时间" K$ v5 E+ w6 \, U& Q
pygame.time.Clock.tick:更新clock对象. z: w5 x: p2 V  g) Y
6. pygame.display
  b; w0 X' k! G" K6 x. T1 _
% H7 B$ ]" v' K7 P该类是pygame中用于控制窗口和屏幕显示的模块" z" P% N6 h; k/ x& M1 b, B! k
8 q; a: d8 D6 J* A
pygame.display.init:初始化模块. J! {# ^3 M- z( f( j5 G' p3 U# ~: l
pygame.display.quit:取消初始化; m: U" s3 V7 f
pygame.display.get_init:判断是否初始化成功! ]; f  t/ S) _& D1 C1 y8 D1 L
pygame.display.set_mode:初始化一个准备显示的窗口或者屏幕- V% W( j) S# L6 l# b
pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
$ [& o* k  p7 L1 h" \6 Iresolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率( }  l, J: N4 }$ z  U
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合
# B9 J4 G# N) ]" f3 wpygame.FULLSCREEN 创建一个全屏显示
9 h! C6 D/ @0 M! tpygame.DOUBLEBUF 双缓冲模式8 d( B, u& F; H* }/ s/ j: p; H
pygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
7 m+ F  M# q0 ]4 Z: f3 e2 spygame.RESIZABLE 创建一个可调整尺寸的窗口. @+ {+ V% p5 b* V: f3 w
pygame.NOFRAME 创建一个没有边框和控制按钮的窗口3 b6 `: w# x  K( B1 o
depth:深度参数,一般不传值: Z+ ~3 Z6 D. `2 }/ b
pygame.display.get_surface:获取当前显示的 Surface 对象
: \6 o8 s$ f( L2 G7 Ipygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上; z, M# {+ o' v" N2 [
pygame.display.update:更新部分软件界面显示
8 j5 d% D9 D7 }2 z' C' hpygame.display.iconify:最小化显示 Surface 对象
- I  p2 n! T- c5 Z& S7 t! \8 Spygame.display.toggle_fullscreen:切换全屏显示和窗口显示
+ M3 t0 L* L- W4 T% e- @9 G; y' |pygame.display.set_icon:更改显示窗口的系统头像
6 ?3 l& q8 w- y9 t  H8 M6 {4 R9 {pygame.display.set_caption:设置当前窗口标题) O: N' Q# y2 c. n4 K5 W3 `
pygame.display.get_caption:获取当前窗口标题
3 J1 J# i6 @2 [, c/ Q" q7 k7. pygame.Rect; @& D2 T. {  B3 a' d0 I  h. |

3 c$ U& i( {0 [. f! Y该类是pygame中直接操作对象外界矩形的模块) Z3 Y: B; J. V" q. C. r$ b

- m- |+ s; U+ T2 \pygame.Rect:创建矩形对象* j- R+ s; d2 Z) `4 G3 ~" X* G
pygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形8 g" \) N. H: l/ {; r! @# X: M% Q! u
pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形$ h8 \. R6 t- s7 |: `, B5 _
该对象具有用来移动和对齐的参数
) j4 D4 B6 K* m& Vx, y
; g; r& ?( c  x+ x; ftop, left, bottom, right) J; I4 }1 \% {, y" I, {# N1 Z
topleft, bottomleft, topright, bottomright
, U4 z& |( C" _midtop, midleft, midbottom, midright
; ^( t1 m/ z( mcenter, centerx, centery
( Z- {8 n' f: g) o; S% ]size, width, height/ D1 u$ r6 z6 B  u4 l6 V
w,h8 l5 b# F& L* x+ \, e
pygame.Rect.copy:复制矩形
, v" |6 O5 E( U0 f, v% ~6 npygame.Rect.move:移动矩形
) a# `$ {) s1 W" J6 [1 ppygame.Rect.move(x, y):传入偏移量
: l/ k7 c- o+ K; N# G" Zpygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象8 N; y& c; q4 X* o7 B, M9 i- Z
pygame.Rect.collidepoint:测试一个点是否在矩形内9 A& i" ~3 |1 b9 t9 [
pygame.Rect.colliderect:测试两个矩形是否重叠
$ T0 R! `: \0 ]& H8. pygame.Color
! l. F" ?* _% i& |  h4 E, C2 Y0 L2 S* H( |7 c0 I" c  ^
该类是pygame中用于描述颜色的模块. j( n5 e5 {& W) J1 D* e* d

1 _) ?# D6 ?, r/ }; Kpygame.Color:返回一个颜色
+ o- S; x, F% _* [5 f9 _* g# m- g: `) xColor(name):传入名称
& `! M3 i( q# z5 bColor(r, g, b, a):传入rgba参数
0 B' L) H7 U/ ^3 V1 [9 c1 ]4 h( aColor(rgbvalue):传入rgb参数
. U' b2 I% z0 y+ x6 ~# ?# b& Z' S* c0 Jpygame.Color.r:获取或设置其红色值1 ]  n$ ?  N6 E) W
pygame.Color.g:获取或设置其绿色值$ L7 G; ]6 l0 U  j+ B$ j' y6 }8 Y
pygame.Color.b:获取或设置其蓝色值4 ^' K2 d4 E; j
pygame.Color.a:获取或设置其alpha通道值
- L9 B% k8 U- K  i+ _0 a- cpygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值' M6 k1 W2 I- v& X) R0 u, z# @$ X
pygame.Color.normalize:返回标准化 RGBA 值
0 _: B0 v# Q$ g) R* g& A. _) c9. pygame.image
; ~# m: T' A" C' t% Q% A1 p6 P- r: M1 T) X
该类是pygame中处理图像传输的模块( p4 q* d( s# N3 H2 {& K

0 x; ?6 s% K& `8 k# P- b* \pygame.image.load:从文件中加载新图像
% b' q( ~; i* z* H传入文件路径和名称
+ t$ U" n) _% [( M2 J支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式% ?2 V+ a1 V& W: V: F4 x* L# \
pygame.image.save:将图像保存到本地
1 `- z7 ~- l( p4 j; i7 N传入 Surface 对象和路径2 \  H/ u4 [$ a% u9 O. F5 k
支持BMP、TGA、PNG、JPEG格式
0 D8 _7 E6 e3 |10. pygame.Surface
$ D* S- |' ~" w) |
! K/ h% O4 g8 N9 t; \该类是pygame中用于表示图像的模块
3 J, R3 d) }* A' k2 V9 Q. x  C# N; }2 q- K. u5 t" J
pygame.Surface:创建对象
* o5 V( d; G; s6 o+ T' x$ Ypygame.Surface((width, height), flags=0, depth=0, masks=None)+ H2 y3 D! }" _# g( p
pygame.Surface((width, height), flags=0, Surface)7 j2 k2 B. g. ?5 V- s* V
pygame.Surface.blit:将一个图像绘制到另一个上方
" Q# }2 H& [' i, D& I& Jpygame.Surface.convert:修改像素格式) V9 ~, |. p2 Q3 I4 i
pygame.Surface.copy:拷贝对象; s* D4 R$ z* o! i- }/ L
pygame.Surface.fill:使用纯色填充对象
+ P# g9 u" L* P3 E0 h- ~  H  epygame.Surface.scroll:移动对象0 Y9 }& |: n: K0 `, @( m0 ^
11. pygame.mixer. c# v: ?+ Y: b1 C7 S$ Z1 ?: J
" }& x4 y2 _- r! h
该类是pygame中用来加载和播放声音的模块,默认有8个声道
2 u; R" x$ g. p3 e9 C: t0 D3 w; b
pygame.mixer.init:初始化模块& L+ B4 `, Q2 n8 |2 n6 @
pygame.mixer.stop:停止播放所有声道
4 R3 L4 d( V+ G/ x( M0 npygame.mixer.pause:暂停播放所有声道
: g. C+ _- `' d/ Dpygame.mixer.unpause:恢复暂停播放所有声道( y" {$ i1 G( h
pygame.mixer.fadeout:停止前淡出所有声音6 B% b2 w% W- L* ~4 R/ u2 }9 }8 u
传入时间参数,设置淡出时间
. Y- d  x; C9 X& l- m5 @" p12. pygame.draw
. K0 n5 b3 ?* v" v. P: k9 k# l7 U4 M) k2 T% h
该类是pygame中用于绘制图形的模块2 G6 T  Y- Q/ U7 k
' J" _7 t0 R; o- w# M
pygame.draw.rect:绘制矩形
6 h5 y& N, g3 H3 I/ apygame.draw.rect(Surface, color, Rect, width=0)
4 B. u8 u/ `3 f4 n) `. |Surface:绘制在 Surface 对象上2 \& C9 b, [  S/ C" u
color:传入 RGB 三元组或 RGBA 四元组; e8 ]/ D, T9 O$ S# _5 q/ ?+ \. j0 o- a
width:指定边框宽度,0 表示填充该矩形+ h; t5 k0 E& g* s9 y* O
pygame.draw.polygon:绘制多边形7 N% {. X& N# k6 H# j  M
pygame.draw.polygon(Surface, color, pointlist, width=0)- h" H* T& t& X9 ?
pointlist:指定多边形的各个顶点
* W. g, x! q# [! ^9 p5 z: ipygame.draw.circle:绘制圆形
! ?! u% n( S+ e) }pygame.draw.circle(Surface, color, pos, radius, width=0)
. }( G0 V5 \$ D' C6 y& e7 K" Wpos:圆心位置8 i$ \# j& r, X! q
radius:半径
  A2 U, Z0 u% Z" T# Wpygame.draw.ellipse:绘制椭圆% _. Z8 p) x) u8 |, ~2 o
pygame.draw.ellipse(Surface, color, Rect, width=0)4 f  j1 j" h+ s+ J* ^- X
Rect:椭圆外切矩形$ `! e; E7 s/ D) _! M/ M
pygame.draw.arc:绘制弧线
6 w& V9 `5 p( ?: Q8 a5 T! cpygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)
5 n* ^* N; g% }- @# Y; dRect:弧线所在椭圆外切矩形
0 h' U# H# C8 G1 U* ~- ]  L5 Q/ ~0 tangle:弧线开始和结束位置' Z  s0 m8 G: d* B& i
pygame.draw.line:绘制线段
6 h) m3 ~0 c9 Y- ^. H( cpygame.draw.line(Surface, color, start_pos, end_pos, width=1)
, G* k# R0 z: R- P- ?& G1 c; cpygame.draw.lines:绘制多条线段, q! q% ]# i! w% f. j0 Z) [
pygame.draw.lines(Surface, color, closed, pointlist, width=1)
6 M! _( i. M/ spointlist:一系列点
: B8 E' O6 C$ q, b/ G5 M8 z5 xclosed:若为 True 则绘制首尾相连
% U/ I  L* ~# p! Y! x13. pygame.font
# Z6 }8 h* {' Z. ?
5 K2 D- y: U% Q8 y9 \该类是pygame中加载和表示字体的模块
" H, j8 Q/ \5 U+ O' c+ M, N/ ^8 q0 O' j* z. G
pygame.font.init:初始化
  r. p! q$ h* r# ppygame.font.quit:退出
. m5 ~# t( C' u1 e( wpygame.font.get_init:判断是否初始化1 w4 o8 B& S* |( k
pygame.font.get_font:获取所有可使用的字体, m/ ~5 v7 n2 [( q
pygame.font.match_font:在系统中搜索字体
6 {3 x7 a. D5 Z5 g! ^+ Hpygame.font.SysFont:从系统字体库冲创建一个对象  b% u2 K" }, c/ w3 [
pygame.font.Font:从字体文件中创建一个对象( m1 h% T. E/ W* }
pygame.font.Font.render:在新的 Surface 对象上绘制文本& [3 d" g7 C4 c* G
pygame.font.Font.size:确定字体大小
/ O  F" ^2 F4 jpygame.font.Font.set_underline:是否加下划线
% C; e8 B, O( s% ?/ l5 ]7 t8 [pygame.font.Font.set_bold:是否加粗" }, H0 `5 ?; \3 f: ]
pygame.font.Font.set_italic:是否设置为斜体( V2 d& ]* g4 z0 Z+ U; J( T
14. pygame.mixer.music
1 _- L+ |- F* Z! ~* O; W! V; O8 y- a6 V# E- v2 {( z
该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式6 c* T" @4 |1 A/ x# l

6 ?8 `* t' q6 ], j# F( p; kpygame.mixer.music.load:载入一个音乐文件# Z. }# c3 I+ e& R  M2 r6 l
pygame.mixer.music.play:开始播放
! g: l- i5 q* t5 O; Q+ \pygame.mixer.music.play(loops=0, start=0.0)* d7 R7 X0 Z, G" \
loops:控制再循环几次,若为3则一共播放4次0 D" U0 r, g/ a0 B( z! b
start:控制从哪里开始播放,单位为秒
- S! P8 A, S* d4 d( \pygame.mixer.music.rewind:重新开始播放
# u0 M) N4 e* _' y, Epygame.mixer.music.stop:结束播放
; x! S8 V& @+ |9 l3 E2 wpygame.mixer.music.pause:暂停播放
9 l6 P, R) x0 y0 Hpygame.mixer.music.unpause:继续播放, u1 g% }& V; D( q' g; H& J; [, k
pygame.mixer.music.set_voiume:设置音量& O8 B* n0 e$ H7 U; J
pygame.mixer.music.get_volume:获取音量
( p7 J4 _4 U/ E' W3 P' V# m2 Dpygame.mixer.music.set_pos:设置播放位置
2 c- m$ F, k8 T% Q7 k4 F* A+ B传入一个浮点数,控制从什么时候开始播放
* a: b3 Q  Q; R& I$ Xpygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后. z' y: r! g- q4 J2 m# ~! a- }
pygame.mixer.music.set_endevent:设置播放结束事件
3 i0 H" |4 _+ n6 [1 [5 ppygame.mixer.music.get_endevent:获取播放结束事件
4 s/ z8 }* S4 n8 d/ u: c15. pygame.mouse; R2 @9 T6 S* Y- {4 E+ I& `

  l9 w4 X" c/ f4 h该类是pygame中与鼠标操作相关的模块; t" A3 E' p1 w5 {: |3 l- V

& m* B" \1 I( c" m, ?/ p! G) [& _' Xpygame.mouse.get_pressed:判断鼠标按键是否被按下
6 ]) \  w% A' J  ^% l7 Q% Tpygame.mouse.get_pos:获取鼠标光标位置
6 t4 e4 O; ]( K- M! }/ |1 ^0 Z' epygame.mouse.set_pos:设置鼠标光标位置
" o6 F7 S5 r* K! R. Apygame.mouse.set_visible:设置鼠标光标是否隐藏
- B' ~% _  t5 C* Z2 f. ~! h, x4 lpygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像+ v$ h7 S4 ~1 P0 u1 r; Q* I
pygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像8 A  h$ g0 d0 J. w
16. pygame.BufferProxy9 Y+ v" Q8 d4 J/ _
  o8 @* `2 P# ~) t- R
该类是 Surface对象通过数组协议导出的一个缓冲对象
5 w% [4 o. W0 a. [# p1 l( N' K4 d
pygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象
3 c9 x9 @' A6 t: O( }4 F: Ipygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
4 ^) v& b1 z9 o' x0 d" }pygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
; D4 W" v$ M. Q- I# l' i2 n$ D* ]pygame.BufferProxy.write:将字节写入缓冲区4 i& y* b, p  q4 B' n: q' ?( N
17. pygame.cdrom
2 `5 C+ R& O& R; A/ g) W  j3 Y. }4 o9 y! q" w
该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘
% F8 h  K! }% [* C/ Z1 E- W) t; D4 y2 z' y! {9 d( o
pygame.cdrom.init:初始化模块
2 a' r) n5 H2 K; p6 [pygame.cdrom.quit:退出模块% R# s, S. `% u* O2 z
pygame.cdrom.get_init:判断是否初始化成功,成功返回 true  C0 G9 [/ ^2 r) F3 }2 i0 c8 z
pygame.cdrom.get_count:返回 cd 驱动器的个数
9 ^% a5 G  p! j: o1 @- ?" Q) Npygame.cdrom.CD:管理驱动的类: I( h5 P/ s2 q
pygame.cdrom.CD.init:初始化
9 h& ~$ I0 H6 f3 n- Upygame.cdrom.CD.quit:退出
! j" i9 ~1 I; A' m8 M6 H2 dpygame.cdrom.CD.get_init:判断是否完成初始化  v, ?# s- M% P6 B5 N. p( C
pygame.cdrom.CD.play:开始播放
# M& O/ F4 L: B% _7 C6 l$ z. {pygame.cdrom.CD.stop:停止播放
  m3 H4 o7 m, Q7 F9 G$ tpygame.cdrom.CD.pause:暂停播放
3 s  J; J% m7 t8 N  ~pygame.cdrom.CD.resume:恢复播放
. T6 @: {; V7 d  I  I9 \% F4 N18. pygame.PixelArray- ?$ `3 w! c' i* C+ X% o

4 n- g% }* U9 N2 o& @该类为pygame中直接处理访问像素的模块. i6 B9 \3 i. k3 h/ ^5 |

* a& s4 V0 c2 I: Tpygame.PixelArray.surface:获取使用的 surface 对象
* C4 ~8 B; ^) g, v7 R* m8 vpygame.PixelArray.itemsize:返回像素数组项字节大小
, o' A* S0 Z3 E$ cpygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象
0 J& ?  W8 c9 V# }- vpygame.PixelArray.extract:从 PixelArray 中提取传递颜色
9 e" y* @: X) n" ]) ~/ i. U/ a9 s9 a19. pygame.cursors; j) I7 q4 _' E& F1 {4 p: R% s
: S4 Z/ `8 k1 `% h9 ^& O
该类是pygame中使用光标资源的模块; Z  b- W! i- d  k" p

: a' M9 w$ h: Z# d) c) x2 B0 y! Cpygame.cursors.compile:又纯字符串创建二进制光标数据; W3 a8 z! K8 j" C0 }. k
pygame.cursors.load_xbm:由xbm文件载入光标数据  I- g! m) v- E% |% E* K6 r
20. pygame.scrap
+ c9 V) |) ^0 h' C7 x! Q2 U# k+ `9 e0 A( S; d9 E
该类是pygame中用于支持剪切板的模块
+ m; ?( S- a8 ?6 R( B, \& H
' ]# c* V% y. d$ p; C3 ^, r' @pygame.scrap.init:初始化
3 o1 T: J0 P# m! U# Q0 O9 c+ Npygame.scrap.get:从剪切板获取指定类型数据
) G9 \& h( f# U& t9 Vpygame.scrap.put:将数据放入剪切板' k1 C. n; N) V. }, H# r
pygame.scrap.contains:检测是否获得
2 y) o& Y9 a* {' [( O21. pygame.sndarray2 L7 o9 Z# a6 @+ U+ H- g' S
: t* J2 _5 q1 y) ?% G: _: I
该类是pygame中访问音频采样数据的模块
9 O. K2 A* z! {* ^
0 m  \' C# k" s( d$ Mpygame.sndarray.array:将一个音频采样复制到一个数组5 S9 U8 k' V/ V$ z
pygame.sndarray.make_sound:将一个数组变成一个音频对象# Q+ g8 g! A0 U1 V7 r* \/ W
22. pygame.transform
; Z' w  O9 H. [5 R4 l+ Z# @% m, v+ i) x6 [
该类是pygame中用于改变surface形态的模块. k9 `8 e, G1 N3 a  o# x

' `# _" f+ l. u# m5 {3 J0 y" w  Lpygame.transform.flip:垂直和水平翻转/ ]' Q4 _  y7 I: t' @; s8 ^# v
pygame.transform.scale:调整大小到新的分辨率
& V) T: Y1 p1 u6 d2 X6 x+ Tpygame.transform.rotata:旋转图像) e3 G5 L. p; @% m9 D
23. pygame.tests
: i! r8 c4 A/ t2 z5 ?! z' \) ?! Y: R9 B: _( c/ H; \0 \. ?
该类是pygame中用于单元测试的模块8 ]5 N' M. `6 P( ?; u# b# A
; m( t! s, v  s: b' x9 U
pygame.tests.run:运行测试套件$ ^7 N# `5 b+ _
24. pygame.freetype2 ?- }. b' S: W/ e7 Y
/ T/ k. O+ N/ p
该类是pygame中用来加载和呈现计算机字体的模块,不常用+ P7 j8 D3 C, z6 G5 Z" s/ A5 Y+ h

9 L+ Z( s8 L8 H7 }9 w! J3 ~7 [1 e2 |25. pygame.joystick4 H( j( r' X) [' q% \* H
$ o/ G- Q/ c& f+ {% G; T2 W; l
该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档
+ \/ l  v" G  ^" j6 R. ]# k- c- m2 g, Z, B4 e3 y
26. pygame.locals: j9 j$ ^6 |$ V

( |' J% H- q) }& ]* V" b该类是pygame中定义各种常量的模块
' e" A; y2 k. M4 a
) T& y+ K$ W+ K% U27. pygame.surfarray' J% E% O1 u# w1 \: m
" l( T( N% D2 w
该类是pygame中使用接口访问 surface 像素的模块,不常用
9 U9 u2 I+ l% f2 r- {! e4 ]8 |' u; s$ X: z. c3 A1 Q0 A5 w
28. pygame.Overlay0 O9 m1 R* i3 r  Z; n! L- K! q8 T3 B2 S

& \" Q9 j! x0 f" e6 K该类是pygame中用于处理视频叠加图像的模块,不常用* t) B8 l. O5 k( j5 z; \
————————————————4 s+ \$ d' e$ N: \6 B6 L/ ]0 s
版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
! u% }3 h6 s# U原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241: [3 _4 m/ t( H9 l# n8 W% B% G

; z$ a: ?) c! h% R. h6 M  B7 W
7 i" R( u4 g( G+ \" O




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