数学建模社区-数学中国

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

作者: 杨利霞    时间: 2020-4-28 15:00
标题: pygame 会用这些函数就够了
, F5 R$ V3 V+ P9 k9 n
pygame 会用这些函数就够了
- d0 ?# b6 h* f0 @& f( X& {$ upygame 会用这些函数就够了  Q. x; |4 ?4 e/ ^. i

7 X- R# g2 N+ R+ e借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理# e. e' ^7 ^% R/ L
" I: C, W) D! |) w- y- w
前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。/ ^0 q3 ~* j/ O

5 E+ p5 M: I+ x7 C% m$ X2 C: _本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客3 C$ Q4 s) K2 f1 e& b; D: U

( |, [# B) Y/ g+ d8 E' ]pygame.sprite:基本游戏对象
, u/ @5 d+ k% E$ _3 \7 `pygame,event:处理事件
5 R) S8 `1 b! y) p. J3 y0 tpygame.key:键盘按键0 {& ?: s- o0 ^6 ]0 O% e" U' `' l
pygame:顶层模块
$ u/ v, c4 |7 Tpygame.time:时间模块
5 i. n8 k* \; ?( w( S2 M3 f/ dpygame.diaplay:控制窗口显示& `( g$ Q( O% R2 R
pygame.Rect:图像矩形模块) x* i, g. U2 F/ f6 ~0 L; L0 c& P
pygame.Color:颜色模块
: v) u! h, {! rpygame.image:图片模块
5 ~0 h6 k! y+ L( xpygame.Surface:表示图像
. O/ `$ Z' _( \3 vpygame.mixer:声音模块
$ `7 F! f& X( E, l9 k. K0 A; Rpygame.draw:绘制图像
2 t( U/ l- @1 h/ _! Spygame.font:字体模块  s3 E( h, k! E1 H
pygame.mixer.music:音乐模块2 }4 N, |# |3 T; [$ y+ S
pygame.mouse:鼠标移动
4 w) _( ~+ l+ s2 qpygame.BufferProxy:缓冲对象
6 A* K* L5 C# Z! X) b: W' L) g# npygame.cdrom:音频光盘
! ]& w  r; x- y: R$ a# r0 M9 Ipygame.PixelArray:像素数组
% b9 e  ~8 |/ ?% ]( E4 B# t8 R$ epygame.cursor:鼠标光标$ b3 e6 P0 f9 ^; u
pygame.scrap:剪切板
$ A; ?/ b4 x" ]) j; D* }: m% D' T2 qpygame.andarray:音频采样
7 {4 L3 Y! ~6 Z& [pygame.transform:改变形态; \1 K6 }8 i- k2 T
pygame.tests:测试模块
  L3 o9 ]& i& W3 |, d  g2 a0 fpygame.freetype:计算机字体
8 B; s. y4 ~1 v* D$ ^% apygame.joystick:外接设备4 l6 U( V7 p9 z+ Q# W- }6 b
pygame.locals:常量定义5 v1 E# t& W9 B
pygame.surfarray:访问像素
7 D! m1 K4 e1 s1 G; i7 Jpygame.Overlay:图像叠加
+ @" W* H, H) Y# \2 l+ ?4 T& D1. pygame.sprite! U3 Z5 Z+ f1 L* z6 S
+ z6 {% U5 N8 {7 v
该类是pygame中处理基本游戏对象类的模块
8 R) m$ ]0 a9 H  Z4 x2 h
7 G: I: }; ^% t9 ^pygame.sprite.Sprite:可见游戏对象的简单基类0 ^) [4 n9 |' `  \
pygame.sprite.Sprite.update:更新状态# ?% B& W  K/ I" P
pygame.sprite.Sprite.add:加到组中
1 u7 y$ C0 ]8 ^1 l- y+ V; Q7 lpygame.sprite.Sprite.remove:从组中删除
0 [# X% ?6 K, [pygame.sprite.Sprite.kill:从所有组中删除/ a5 }' {1 D0 n1 `* F
pygame.sprite.Sprite.groups:包含此Sprite的组列表
8 L8 I! \! O+ E' ?- tpygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类% B$ E/ Y* W1 O4 O
pygame.sprite.Group:保存和管理多个Sprite对象的容器类/ ~1 p9 Z& ^1 F6 E5 W5 n
pygame.sprite.Group.copy:复制组) }' G  e$ Z3 v
pygame.sprite.Group.add:添加到该组
; C2 Z; s0 j+ k- U4 U1 _pygame.sprite.Group.remove:从组中删除
7 o5 B0 L: b0 ~* wpygame.sprite.Group.has:检测是否包含
; E5 K1 ?! Q, v, x  b+ N& T* mpygame.sprite.Group.update:更新状态
& v( p. k8 T* S4 ?1 Cpygame.sprite.Group.draw:绘制图像0 k* Z& A# m' R& r
pygame.sprite.Group.empty:删除所有  T( ~* M$ [! h6 O2 y' D
pygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞& ~0 Y6 E8 a, [6 b1 t
pygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞
& @2 Z% C" }) N; H+ a" Npygame.sprite.collide_circle:使用圆来检测碰撞
& D2 r9 }  S5 x3 vpygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测8 s! V' X$ ]% D- J$ [5 h3 x5 U
pygame.sprite.collide_mask:使用蒙版检测碰撞
. e9 f9 M0 d: K. `% W7 }" k9 z2. pygame.event
$ L% C$ e6 l. f9 k$ S, z: t. @* y
该类是pygame中处理事件与事件队列的模块
) ^9 F2 q2 b  q" e1 S$ B  M6 T! v3 ?5 |6 Q  q- l, d
pygame.event.pump:让其内部自动处理事件
% Q$ g; U% A/ U8 G4 mpygame.event.get:从队列中获取事件* N4 a3 F/ `) f. a5 o/ j8 a
pygame.event.poll:从队列中获取一个事件
8 W1 D1 S+ F% ^/ i9 ?pygame.event.wait:等待并从队列中获取一个事件
5 O0 l" K- M& R4 X  F: ipygame.event.peek:检测某个类型事件是否在队列中; E& E$ I, t9 d/ d, T
pygame.event.clear:从队列中删除所有事件
+ [: I8 [6 D$ F6 ^9 Z+ v. l( vpygame.event.set_allowed:控制哪些事件禁止进入队列! K) D* Z* j2 J8 w
pygame.event.set_blocked:控制哪些事件允许进入队列6 }3 \/ Y1 J( ~  u8 L$ G% }
pygame.event.post:放置一个新事件进入队列
# L" T6 l# ]& `) ipygame.event.Event:创建一个新的事件对象
. _2 A8 g& O- P: C; X事件种类:
3 L7 g/ {3 L! X% z4 Q) EQUIT:退出( s- d+ ~) Y# J. y' w( V
KEYDOWN:按下按键% l) r, B% _. U, H8 o4 G
KEYUP:松开按键
4 ]2 x; P/ m& ], r& `. nMOUSEMOTION:鼠标移动
3 x* Y/ P, L3 Y# A$ O其他游戏杆、游戏手柄、追踪球事件
+ l/ u7 Q" N8 f  G9 `; H2 N支持自定义事件
* V' O$ W# K# U" }# X' g+ p! k3. pygame.key  x( F5 ]# x$ j# Z& B$ _8 F

5 e$ b( V1 T; }2 i' o  c8 W( R该类是pygame处理与键盘有关的模块
" C; V6 h6 b2 |8 u! [5 \
4 L; J- q% U7 [7 opygame.key.get_focused:窗口获得键盘输入焦点返回True% ^; m( K" o2 f8 ^1 B8 ~" l6 d, V
pygame.key.get_pressed:获取键盘所有按键的状态
2 n+ o4 }; w! ]" jkey属性:pygame预定义的键盘上的键位
1 j1 V; a) w: T" Zmod属性:pygame预定义的组合键
, X( U7 I: t# W6 H4 O2 N4. pygame# v. b; `* a3 l% T
; Y7 R& B  o6 R+ _1 L
该类为最顶层的模块$ Z3 j7 y# A5 \( L# `

8 h7 V2 S1 L: S2 {pygame.init:初始化导入所有pygame模块
2 k7 C' j/ ?1 D% x7 @- \% Opygame.quit:卸载所有导入的模块
6 m; S) O& s9 Z4 U4 t8 N5. pygame.time
6 h, l# Y# N0 f# K2 r9 k, T
5 ]8 j: n& ?+ ~% m& n4 |该类是pygame中用于时间管理模块
$ K+ \4 X$ A, w) V# u; ^# |  v! U6 T
' W1 p0 f2 w" o% P. }pygame.time.get_ticks:以毫秒为单位获取时间4 }2 G% i. ?1 N$ B
pygame.time.wait:暂停程序一段时间
! ?6 [* m" o- u, d5 Y% Jpygame.time.delay:暂停程序一段时间% {0 D5 Q" `7 G# Q
pygame.time.Colck:创建一个对象来帮助或更新时间! v  x) q2 e! a4 A) B+ U3 [' L1 ^* c
pygame.time.Clock.tick:更新clock对象
4 M" e1 A3 x! c  m6. pygame.display: H6 H* I2 E5 d/ R7 E. ~) i4 Y+ o
% z! z6 V3 g0 F" i* p
该类是pygame中用于控制窗口和屏幕显示的模块; @* U+ Z0 B% A. ^
4 d  i/ z5 X+ `& y8 c
pygame.display.init:初始化模块
  T. T4 r1 i" o- c- d  q8 rpygame.display.quit:取消初始化+ ?; d" X- c- ~
pygame.display.get_init:判断是否初始化成功9 ^" r3 M/ \2 ]+ v+ \
pygame.display.set_mode:初始化一个准备显示的窗口或者屏幕( `$ O0 g/ h& B) v: q0 A) t
pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
: {7 d. D0 Q, |/ q# A2 {6 f& C7 vresolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率
2 o& ~0 K! x1 e# l$ p  iflags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合
% N2 u9 a  H% r6 x  b$ Hpygame.FULLSCREEN 创建一个全屏显示- K  o0 F, T' Q
pygame.DOUBLEBUF 双缓冲模式
6 a5 p1 x# Y: X" P* ^: spygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
! ~4 K( T. }) Q. L% m+ D6 K. apygame.RESIZABLE 创建一个可调整尺寸的窗口
" g; S) h0 U" _% b2 \pygame.NOFRAME 创建一个没有边框和控制按钮的窗口
8 t/ i* E* h7 C6 u9 cdepth:深度参数,一般不传值9 n( L2 f7 u6 B$ h% \! A+ p
pygame.display.get_surface:获取当前显示的 Surface 对象
  a4 r( Q4 _! ^9 u# j$ Ipygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上# P; R; B) }7 N' t" f  e7 P, K
pygame.display.update:更新部分软件界面显示$ B, x7 b+ k9 ~- x; N: O6 E5 ^% g
pygame.display.iconify:最小化显示 Surface 对象; R7 K6 G" `2 E* j* A& V" M
pygame.display.toggle_fullscreen:切换全屏显示和窗口显示6 X" K' f  p# P7 M0 {
pygame.display.set_icon:更改显示窗口的系统头像
7 \+ v- j* ?' Y% Fpygame.display.set_caption:设置当前窗口标题# _% E# ~- S* p% G! f! }5 C0 w
pygame.display.get_caption:获取当前窗口标题
8 ^! P% j6 E3 H+ f; a3 B7. pygame.Rect
7 @7 W% v. |0 q: A+ W0 e1 Y- q
, S5 G+ Z; m4 z, Q( U. i该类是pygame中直接操作对象外界矩形的模块
/ A' h9 `5 `& E1 Z2 @, b" _; Q) s
' l; n( K$ R5 X+ G+ M4 Npygame.Rect:创建矩形对象+ B4 w* z& z" G$ S0 G$ X
pygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形! O8 @) N0 C% M; K- L) N2 ^$ |) `$ s
pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形! k2 f  V8 D5 ~5 A, L+ Q
该对象具有用来移动和对齐的参数: @( d% f6 `) A% Q' {1 w
x, y: [* a5 X9 Y4 e. u7 m! n
top, left, bottom, right
0 N2 l3 V( p7 h; p% j6 otopleft, bottomleft, topright, bottomright
+ Q' {, E6 ~$ F$ @8 Vmidtop, midleft, midbottom, midright, k6 V0 ?, Y7 i/ V$ s
center, centerx, centery
. f0 ]; q2 Q, @/ o7 B; Tsize, width, height
+ R/ S4 M0 G( y" o, t: ~! ww,h9 h. u, J' g) e# G, d4 Q9 G7 q
pygame.Rect.copy:复制矩形
& j5 b1 ^+ |1 q- }& L" u* P0 ]pygame.Rect.move:移动矩形! e: w1 q9 D' h0 J2 V% w1 x$ k
pygame.Rect.move(x, y):传入偏移量
2 Y9 s9 ]+ _% vpygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象
6 Q1 Q: ^; G# V9 E; opygame.Rect.collidepoint:测试一个点是否在矩形内2 d' t& h- X+ U! p
pygame.Rect.colliderect:测试两个矩形是否重叠
0 X3 e6 W3 z  `# @8. pygame.Color5 h2 p: j5 z6 l3 c* @

* ^* z. q8 f: D% H+ r% J该类是pygame中用于描述颜色的模块
# K% d' w+ `. j1 p' K$ K) o% m" J7 ^& P0 W
pygame.Color:返回一个颜色/ K( m' q  W# v
Color(name):传入名称
3 X& `0 l5 c% [Color(r, g, b, a):传入rgba参数) {, O5 q' W' ]7 {7 Y
Color(rgbvalue):传入rgb参数* J6 g& |$ `& [8 D' C& o
pygame.Color.r:获取或设置其红色值# O0 B* O# N8 b  d) f8 g) f
pygame.Color.g:获取或设置其绿色值' ?* P# z& E# P, V& z2 k" l' H3 c
pygame.Color.b:获取或设置其蓝色值
# x1 L) X7 Q' {8 Ypygame.Color.a:获取或设置其alpha通道值  r, L) W$ g6 Q4 i
pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值
% P# \, L: o7 `& z0 p% [$ Mpygame.Color.normalize:返回标准化 RGBA 值! @) M5 y7 K) p3 i1 v6 f9 _
9. pygame.image
0 }8 c  C) X$ \3 ^2 r
0 Y3 L& {7 t: U. T/ O该类是pygame中处理图像传输的模块, Q  Z: B9 |; S' U1 N  i4 `
. \4 w) O- E  y
pygame.image.load:从文件中加载新图像$ O1 {) A" I' k$ Y8 C0 t. g$ ^' g
传入文件路径和名称6 X) W1 E% t( d! l. t- L
支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式
, t1 ~9 }; _( g0 Y' Cpygame.image.save:将图像保存到本地! ?( h: L  _8 ?- L% F
传入 Surface 对象和路径# m; ?0 L) b& V* Q
支持BMP、TGA、PNG、JPEG格式! {+ `/ P6 O" _( i3 N6 t0 L1 C
10. pygame.Surface
9 O: n' ^* O2 k; R/ j
+ X0 m/ R: k6 x7 [/ o该类是pygame中用于表示图像的模块
6 \, j) K! m# H' }1 k5 J) {- x/ P! F. o
pygame.Surface:创建对象
7 f& b' ^" B. s. b7 e! ]3 ppygame.Surface((width, height), flags=0, depth=0, masks=None)
% W% i' T7 Q: b& h( N1 m4 `pygame.Surface((width, height), flags=0, Surface)
% E- i7 x/ Z4 B7 m3 ]pygame.Surface.blit:将一个图像绘制到另一个上方. B% H, o9 m1 a% I
pygame.Surface.convert:修改像素格式3 w+ b& e3 u7 N
pygame.Surface.copy:拷贝对象# }$ i' T$ n) M0 W
pygame.Surface.fill:使用纯色填充对象2 i- A9 x4 |! f# `& q
pygame.Surface.scroll:移动对象9 ~8 N8 b9 _+ E
11. pygame.mixer
5 r, `4 v+ {: p; r( P2 `
5 m0 S6 D; s7 P9 g该类是pygame中用来加载和播放声音的模块,默认有8个声道+ G+ D, I; J  S7 a! d& B$ ^

7 c& y% {- g9 s) e6 U0 Rpygame.mixer.init:初始化模块  k% z* S: F; m; V/ M: y. M
pygame.mixer.stop:停止播放所有声道
1 p7 F3 A9 A/ B& gpygame.mixer.pause:暂停播放所有声道
, |: L5 A" Q4 kpygame.mixer.unpause:恢复暂停播放所有声道
/ |$ Y5 s% q' x, E& ?* {% x9 h6 ppygame.mixer.fadeout:停止前淡出所有声音) s6 W2 A+ x3 K1 k9 N
传入时间参数,设置淡出时间4 i, v- W" P( r. u0 P
12. pygame.draw( A8 k& E& R. Y1 }& F+ D) q- u

9 n5 G% G$ H2 r/ T3 f+ K$ ]该类是pygame中用于绘制图形的模块3 g# X! A+ r) p& y$ \- ?
6 G: i% ~' `. `* u/ D$ \- F( a
pygame.draw.rect:绘制矩形0 Z8 O" Q  \* d3 W6 x! r; v3 Z
pygame.draw.rect(Surface, color, Rect, width=0)
: X) n8 @3 Q% z, b- \Surface:绘制在 Surface 对象上
9 [* S! N1 x/ A, d2 R) @color:传入 RGB 三元组或 RGBA 四元组& T' [7 _8 w1 k& W+ h2 Q( p4 a/ u
width:指定边框宽度,0 表示填充该矩形
, u& N2 S% w4 a) h" Xpygame.draw.polygon:绘制多边形* d4 G, w/ k$ I8 f1 V: }7 W) E
pygame.draw.polygon(Surface, color, pointlist, width=0)+ v8 h' b4 A! M
pointlist:指定多边形的各个顶点
! l2 s. H" y" Gpygame.draw.circle:绘制圆形, w8 O4 W& E" n; n0 y" R
pygame.draw.circle(Surface, color, pos, radius, width=0)- X7 i' j; n  h/ P- u& \; K
pos:圆心位置
0 C! m& k) D: f5 \0 B1 qradius:半径
% E7 Z6 ~" \5 ~. C. qpygame.draw.ellipse:绘制椭圆
) k  {# n, n0 w( w6 |" I3 Zpygame.draw.ellipse(Surface, color, Rect, width=0)
- z5 I3 n# }: Y; p( ~) C) K3 d# @8 k0 cRect:椭圆外切矩形8 P7 q8 v- P& S1 {0 l
pygame.draw.arc:绘制弧线& a: I- W) B* M# Z% B1 `, L1 {
pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)' X/ ]! m. i* ~' U) v
Rect:弧线所在椭圆外切矩形  {6 d, o  M# s5 c
angle:弧线开始和结束位置
# _0 e0 n2 g/ e+ opygame.draw.line:绘制线段
( {2 }5 h: q/ \2 \( {4 }8 Rpygame.draw.line(Surface, color, start_pos, end_pos, width=1)$ r3 x3 X; d, F# n& S! ^# b
pygame.draw.lines:绘制多条线段
+ s. l0 V$ n# Y; h2 B. ^pygame.draw.lines(Surface, color, closed, pointlist, width=1)
8 i# D) M& t) G8 `. Y7 Tpointlist:一系列点
2 @8 z' x3 D/ Q2 h2 {& rclosed:若为 True 则绘制首尾相连+ i! R  l  C8 P6 i' q& S( z
13. pygame.font
: ^, X$ j7 B2 ~6 X  ~& o- \, ]0 g$ D5 z5 F" M1 y2 x1 Z7 M
该类是pygame中加载和表示字体的模块: G) ]# T6 d3 T# ]5 U& z
: B+ z8 H, D5 O* s
pygame.font.init:初始化" ~. b) _, C  q/ k4 ?* q. E
pygame.font.quit:退出
( J2 [4 f' ?2 v* Y) Q4 U- wpygame.font.get_init:判断是否初始化
4 v  A; C% D2 [0 Mpygame.font.get_font:获取所有可使用的字体8 j3 k* d$ X; \" V  E3 i
pygame.font.match_font:在系统中搜索字体
, p( P, ]* T4 dpygame.font.SysFont:从系统字体库冲创建一个对象
/ t$ `# S3 m; F  l6 Wpygame.font.Font:从字体文件中创建一个对象
& A$ h+ u  \. F8 O+ T- e4 x0 Bpygame.font.Font.render:在新的 Surface 对象上绘制文本
5 ]2 B# o3 Q' k# c/ q, Zpygame.font.Font.size:确定字体大小* H2 i1 A- |. m; A% i8 B
pygame.font.Font.set_underline:是否加下划线
% }! U' Z. U% q* L0 @pygame.font.Font.set_bold:是否加粗
% k, |. S* T/ t: S: Cpygame.font.Font.set_italic:是否设置为斜体
' \) B. F5 b' C! @" G14. pygame.mixer.music
2 Q* o( X1 @. z+ @5 ?- X8 \8 u& k- m1 D8 f! `# a
该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式! S3 X9 H  s6 l0 _5 C% m

: c) [- M( N2 \" Mpygame.mixer.music.load:载入一个音乐文件+ r- m' [5 P: o' ^$ |* X
pygame.mixer.music.play:开始播放, k; d6 S2 K1 L4 K- v0 o3 l
pygame.mixer.music.play(loops=0, start=0.0)  X7 r) h4 k) I, |$ }
loops:控制再循环几次,若为3则一共播放4次
$ [2 }, r1 v* B$ fstart:控制从哪里开始播放,单位为秒( z! t* {$ d" g1 N, U
pygame.mixer.music.rewind:重新开始播放
: L! r' Y$ M4 l2 H! h. F# p% Zpygame.mixer.music.stop:结束播放
, w9 T$ h- |" p* Spygame.mixer.music.pause:暂停播放! b* J) L3 C% h7 V
pygame.mixer.music.unpause:继续播放
0 s3 V- \; s. G# M& {6 Ppygame.mixer.music.set_voiume:设置音量- H/ j' X+ e0 Y% b! h8 |+ w; M+ O. H
pygame.mixer.music.get_volume:获取音量
5 N0 X2 F& V. b- p# p2 @pygame.mixer.music.set_pos:设置播放位置
2 u% W  ]% w  {0 ~6 ~传入一个浮点数,控制从什么时候开始播放, Q& h( E, f& C7 `/ O
pygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后+ e" c' h9 W+ Z  r
pygame.mixer.music.set_endevent:设置播放结束事件9 O9 T6 \% f4 n
pygame.mixer.music.get_endevent:获取播放结束事件5 {% w& j# ?+ I/ B0 P. p
15. pygame.mouse4 e; ^0 {5 P5 @: D  B- n$ s

. a. E) P* |- N5 t1 X该类是pygame中与鼠标操作相关的模块
5 d5 s: r) F# J: ~: G9 ]! o% V1 U  [( Z4 x$ N
pygame.mouse.get_pressed:判断鼠标按键是否被按下2 Q" X! y4 k0 C4 v1 ]
pygame.mouse.get_pos:获取鼠标光标位置0 W0 T5 V( j- E4 F- S
pygame.mouse.set_pos:设置鼠标光标位置
! W, S" q) Z# r  u4 {& Upygame.mouse.set_visible:设置鼠标光标是否隐藏, [( d! B$ ^* U
pygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像  U# Z( N8 J8 {% e: ?
pygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像
; j3 y9 ?1 T+ }3 V: u# }0 ~16. pygame.BufferProxy
$ Z& H) c# u4 o4 V9 N4 B& r# `4 d  r9 X' U6 K+ |0 h% N: W! I6 m  n
该类是 Surface对象通过数组协议导出的一个缓冲对象
3 b& N3 |$ v0 k* N/ X' }
. x# g7 c; `$ G; o2 ^& Xpygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象% }  |7 v, J2 K  T
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
8 `  T9 @) F; |. W4 N% P6 `. |# D. f- mpygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
/ s: g1 O6 _6 J* a1 W- J. d9 Z3 ypygame.BufferProxy.write:将字节写入缓冲区
# _" t# O/ c$ f0 G17. pygame.cdrom6 Z. {& j0 L4 ~% \7 Q

7 h  N. P' Z+ [  T, [$ \' N该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘, a! M& M+ U9 X3 S1 R# v
+ r2 c) H- V0 h4 ^- j9 I: l
pygame.cdrom.init:初始化模块
. Z( J, ?/ r" g6 Q& a3 A9 apygame.cdrom.quit:退出模块
: F& P& V- E8 }3 H3 q: i- gpygame.cdrom.get_init:判断是否初始化成功,成功返回 true7 G: ~7 C" K. {) Y9 z* [
pygame.cdrom.get_count:返回 cd 驱动器的个数
1 t* F1 I' k) K- I4 r/ apygame.cdrom.CD:管理驱动的类6 J! f, I5 p- z
pygame.cdrom.CD.init:初始化
8 G" S9 i2 B8 Z# g$ Gpygame.cdrom.CD.quit:退出
. M: f$ {/ a+ q, M7 Cpygame.cdrom.CD.get_init:判断是否完成初始化
& i" Q  Z! X: w4 B$ mpygame.cdrom.CD.play:开始播放
& D9 ?' S' Y% W  Npygame.cdrom.CD.stop:停止播放
  E& t2 M7 w; `  L' spygame.cdrom.CD.pause:暂停播放
) m; d+ ~( j2 A  Hpygame.cdrom.CD.resume:恢复播放8 T% a* U8 a; p" Z5 r- w4 b# Y
18. pygame.PixelArray
4 z0 Z$ @8 g( d& b5 n4 c3 I5 Q  |  G# E0 _" P# Q$ Z5 y9 \5 p
该类为pygame中直接处理访问像素的模块* L% m5 Q1 [% i
) Y2 b7 g% g* I, J4 @
pygame.PixelArray.surface:获取使用的 surface 对象/ e3 h8 s" E6 \  e( z. o# G
pygame.PixelArray.itemsize:返回像素数组项字节大小! u8 x) t2 Z6 I; A) F
pygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象
, M5 h1 p* f, u8 Q( @+ H. i- ipygame.PixelArray.extract:从 PixelArray 中提取传递颜色
  V) F4 D8 F. u) L8 w7 e19. pygame.cursors
9 P; d6 ?# v) T) C
1 O% F0 L* N; s. {该类是pygame中使用光标资源的模块3 k& u4 w/ M( W& t

2 V' X! o7 R' opygame.cursors.compile:又纯字符串创建二进制光标数据4 {8 H8 d* q: e* H0 I
pygame.cursors.load_xbm:由xbm文件载入光标数据
3 t6 S" b3 y, K: Z8 L20. pygame.scrap* k/ J- h3 h$ }. I

7 ~! Z$ M6 r$ E( A该类是pygame中用于支持剪切板的模块1 T4 y7 y* J! t7 x' J5 p8 O) w

, b! L9 H( _* Cpygame.scrap.init:初始化
# X: ~: @3 k6 @$ h) V  cpygame.scrap.get:从剪切板获取指定类型数据, e$ q5 M5 a) Y7 L: y
pygame.scrap.put:将数据放入剪切板" W7 c4 t  k, G- q3 ]7 ?4 S9 _# l
pygame.scrap.contains:检测是否获得
- D! e5 ^) h$ `. U; C$ G, ^, S21. pygame.sndarray
" O, U) `6 s, v& z8 l* {. ^/ v: K: Z" |# K* p. E( v
该类是pygame中访问音频采样数据的模块) i; T1 b3 o% D9 T- ^+ @

' g0 ^1 I/ S/ p0 {) S  x5 _( Spygame.sndarray.array:将一个音频采样复制到一个数组8 x. I0 J" N0 s) y6 i2 @( r3 V
pygame.sndarray.make_sound:将一个数组变成一个音频对象
) Z; M' V) L' I* h7 I' J0 L4 A22. pygame.transform; ?$ @, S8 E7 q+ o6 O; Y# g( }
% T6 x) V, E, R$ U; s+ e
该类是pygame中用于改变surface形态的模块" j# v" r6 K! D6 A8 ~" m5 N

, W) A+ }: l) m5 z2 L! q& Upygame.transform.flip:垂直和水平翻转
. E: w3 |+ N6 x, Gpygame.transform.scale:调整大小到新的分辨率
: L5 I  a4 U( V! h+ Rpygame.transform.rotata:旋转图像. X" }" K' C& |( f
23. pygame.tests( _* @' m) w6 s# S/ _. Q8 u6 G5 v
/ P( z! ]) n# G8 V; c, y' W7 I
该类是pygame中用于单元测试的模块. S' p' T8 W* k& g8 [. N
0 w, x/ Y- {4 A* P5 q! v/ X3 b& x
pygame.tests.run:运行测试套件) Y- k' ^5 T. ^
24. pygame.freetype
- s3 D# B- Z  ?5 @# X) ~: n. `5 [: _- I8 t) y7 l; r
该类是pygame中用来加载和呈现计算机字体的模块,不常用
$ r9 @  J$ @& `1 {, ~. F
9 Y- {' O% p$ p- U+ S25. pygame.joystick: z, ^+ k$ y% x) X

/ z& h  u0 E% ~! I1 W, e8 D该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档
; p! o9 I7 o+ t$ S6 p, b" M, N4 B- t' v9 w4 X9 Q
26. pygame.locals- }( D& X' c9 i% g2 w
, H. }5 q7 H! S5 n" B
该类是pygame中定义各种常量的模块
0 ~/ M9 l* K: ^3 ?
- G9 o1 \5 S, B' y5 e27. pygame.surfarray( R' {2 {4 A  a1 m1 c

" p0 i2 X, u+ {# S/ k5 l该类是pygame中使用接口访问 surface 像素的模块,不常用
  B! _) t2 g9 x3 F' o, k# u1 A5 F0 l* [4 `- m
28. pygame.Overlay+ F+ O! W3 _% T+ L

) G: ]6 W/ o; R) o$ m该类是pygame中用于处理视频叠加图像的模块,不常用% \  y3 p% R; G2 s$ l
————————————————
2 k) ^0 L5 q  i) g: Q: l1 j版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。# P6 O/ ]9 n/ [9 N
原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241
/ U8 g/ H/ o2 L8 l. a$ }( Q7 k% Y! O( V
$ C7 m9 z4 d7 F' T) v; n, V# ~5 Z8 u$ z





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