数学建模社区-数学中国

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

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

2 x0 d) g5 I+ @9 F6 |2 Bpygame 会用这些函数就够了
; Q! L6 c* C7 W/ Zpygame 会用这些函数就够了9 ~, ]0 ^2 h3 x$ m; c

9 ?! ~3 l( X$ ~- p) q0 _借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理9 l- @3 g# {  P) @* \5 f  ]9 f4 d7 Y

1 ?& i8 E1 [4 e! h1 S6 v$ C前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。
2 P1 n' D* C% ?( W- G4 v0 ~1 E
/ N5 a6 I+ Y3 P, C* @( D: Q本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客: L/ b  A1 b8 K/ d1 g4 j+ c$ h

. |1 Z) |- i# I, J6 b- `* n; _pygame.sprite:基本游戏对象- k7 G, J5 ?8 Q6 E3 U
pygame,event:处理事件, T* A5 k( |5 y
pygame.key:键盘按键4 p& \) \& y( }1 q9 _3 Q
pygame:顶层模块
# J; k7 u4 P/ \7 ypygame.time:时间模块
/ ?# {( D; J4 d; r/ q/ ]- xpygame.diaplay:控制窗口显示
% z( A- g. g3 ?( \, Jpygame.Rect:图像矩形模块
  j; p$ J* |0 _; j% Ipygame.Color:颜色模块
6 V( N. e9 h1 _+ Upygame.image:图片模块( p9 i3 M* T9 i* H. F$ Z
pygame.Surface:表示图像
, p2 B' b* b7 L! J& Z' lpygame.mixer:声音模块# n  z; Q3 e5 X7 I  s4 D) `: O& v
pygame.draw:绘制图像6 F4 Q4 C6 B" s5 R% e+ \
pygame.font:字体模块+ I& V/ N( O6 C8 z, o, B% r% F
pygame.mixer.music:音乐模块
/ L! L$ {* t* Y6 y8 Qpygame.mouse:鼠标移动9 _* g0 }" n0 v" o# d
pygame.BufferProxy:缓冲对象
4 ]6 ?: U% r5 \* Z' x. Mpygame.cdrom:音频光盘' `. x6 y9 d7 d/ [- u' m
pygame.PixelArray:像素数组
$ t( U6 b# s- [. o/ _7 B4 |pygame.cursor:鼠标光标
# O7 F0 M5 M: s# Z2 Opygame.scrap:剪切板! _' `% v  v* Y1 l8 B( W) t7 X: m
pygame.andarray:音频采样- C2 s: I7 u! r
pygame.transform:改变形态* p: D3 m9 A8 f3 |  n
pygame.tests:测试模块
  z  F1 S: b7 D3 q' R- h& ]3 Bpygame.freetype:计算机字体
& x, Q, H5 J, I  w# w8 G" C: [pygame.joystick:外接设备" u/ w: ]: r! G
pygame.locals:常量定义
# z4 E9 n6 Q! c2 o$ J- g) xpygame.surfarray:访问像素
* V$ y: m' ^: @9 [4 i0 bpygame.Overlay:图像叠加  A0 w  G6 r& @; ]0 r# G
1. pygame.sprite
% x+ m1 @' Y7 a" k/ \2 @! _- m% C# F$ O) ^
该类是pygame中处理基本游戏对象类的模块
' ~8 x8 _& X7 X4 N  X/ p( g) A! ^+ W# B
pygame.sprite.Sprite:可见游戏对象的简单基类
3 A" w: P1 R, ^) @' v9 ?5 \; |pygame.sprite.Sprite.update:更新状态
0 r! o( C/ S- n. @pygame.sprite.Sprite.add:加到组中
1 [2 w2 W' D" P: w( qpygame.sprite.Sprite.remove:从组中删除
1 A! W3 K; v' V4 O. \- w- e8 T* L2 ypygame.sprite.Sprite.kill:从所有组中删除
$ Q0 B! R" ^  u5 U8 j8 B2 I3 Tpygame.sprite.Sprite.groups:包含此Sprite的组列表+ z; Q" f* S, e) ~7 S$ P0 G2 ?* q
pygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类- u, m  M, ?0 H$ Y) ~8 [/ w
pygame.sprite.Group:保存和管理多个Sprite对象的容器类% g2 q8 U( q; F! t
pygame.sprite.Group.copy:复制组
: y3 G- c2 |$ ^: X  A7 ?% M1 rpygame.sprite.Group.add:添加到该组
7 G2 {! s5 d/ b2 q; V$ U+ ppygame.sprite.Group.remove:从组中删除6 @3 O0 B. ~( m3 u& h$ }' t; v
pygame.sprite.Group.has:检测是否包含/ p, P! _9 u; ^# S. i
pygame.sprite.Group.update:更新状态* }$ g5 }& J; k; U, D7 {
pygame.sprite.Group.draw:绘制图像
2 Z% I5 \. \' c" l2 r+ s8 T5 u" \pygame.sprite.Group.empty:删除所有
' ^: w" m( o0 U  r1 ^pygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞2 r% g& K! f. ?$ |
pygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞; z) ^3 N3 w3 R
pygame.sprite.collide_circle:使用圆来检测碰撞9 O( O- t7 \4 ~, |6 a1 S
pygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测
$ y/ K* |* I0 d* w; q; `) G% Cpygame.sprite.collide_mask:使用蒙版检测碰撞
' U8 N" W* P, r, B2. pygame.event" Z$ ~  I/ ~. G, K/ ]% P0 q
, V4 k- ]! g" `& v& C8 _4 \
该类是pygame中处理事件与事件队列的模块2 Y- \) A$ \( g$ d- L# c

6 N8 K, g) b# k: \; upygame.event.pump:让其内部自动处理事件0 V; N* s9 A/ F3 T: {9 N: {+ q
pygame.event.get:从队列中获取事件
) B! Y  G/ i; M' ?pygame.event.poll:从队列中获取一个事件
6 N! N9 F' i- ?. \% J% K5 ?( spygame.event.wait:等待并从队列中获取一个事件
' l2 e$ Y& j) X0 A, upygame.event.peek:检测某个类型事件是否在队列中/ s2 @  S, u7 ]4 W( U1 i
pygame.event.clear:从队列中删除所有事件6 _9 R- ]. C7 z% h6 w% L( G# R
pygame.event.set_allowed:控制哪些事件禁止进入队列
  _. R4 g# m. V- q+ f2 g  dpygame.event.set_blocked:控制哪些事件允许进入队列( V5 `( G" m: ?% _5 Q' Q, [
pygame.event.post:放置一个新事件进入队列
& U; j6 M; K, {6 \pygame.event.Event:创建一个新的事件对象
; g& z4 l& w+ H7 M# J: k# x/ ^事件种类:( u0 g7 m( N! K& }: _2 `
QUIT:退出* j) @9 c  C% V1 B
KEYDOWN:按下按键
: I" @6 z6 M! M% H8 ], RKEYUP:松开按键. g, z+ D. I5 g- c+ T
MOUSEMOTION:鼠标移动; U. t7 v% J3 p3 y
其他游戏杆、游戏手柄、追踪球事件
" t3 H1 a  w9 o, M& i4 D8 b& D支持自定义事件3 X9 i6 G  t3 J, i% B# z1 m9 _
3. pygame.key7 S' t' A! @9 A4 x
: G/ n5 a6 v. g0 a$ b& C
该类是pygame处理与键盘有关的模块# {8 Q, s; S/ q) A2 C, S

# G( K) ]% V( U% M5 |0 L' zpygame.key.get_focused:窗口获得键盘输入焦点返回True4 r/ P; [0 j. `' S5 `. C6 N) y. ~
pygame.key.get_pressed:获取键盘所有按键的状态6 H) X) x; m; P5 G3 T
key属性:pygame预定义的键盘上的键位
2 Y- A2 @  W: b3 ?: Umod属性:pygame预定义的组合键
$ z" u& ?/ C/ l& w4. pygame
7 l  ~* g9 }' i- h5 e: T- g; V: |$ H6 B1 w: e
该类为最顶层的模块
/ p& N# e" Q. ]3 J
+ W3 o" t1 t5 D, P+ @# E% gpygame.init:初始化导入所有pygame模块+ l$ f! c6 W8 [
pygame.quit:卸载所有导入的模块; G( q4 q% x3 J' S1 _% X
5. pygame.time
$ Z/ V4 ]3 e7 S2 I( {9 U' A# n8 j6 ?4 y/ g
' b  A/ B# W* F, P- G; l2 l" y该类是pygame中用于时间管理模块) \) T& [) \* l* [! I7 W: i

& v! }& m) i+ C# Xpygame.time.get_ticks:以毫秒为单位获取时间
- \7 o; R1 ~& @, Jpygame.time.wait:暂停程序一段时间
7 w3 F4 ]0 Q( n. W6 a9 Spygame.time.delay:暂停程序一段时间
, [* R1 s* r$ V8 C& f  Ypygame.time.Colck:创建一个对象来帮助或更新时间
' V# G$ E+ o: L" J0 }7 dpygame.time.Clock.tick:更新clock对象$ n5 g" y+ b: d; P
6. pygame.display
; e% `  @. H. I
( O, g: y( V) T4 t! `该类是pygame中用于控制窗口和屏幕显示的模块2 y6 j" m( |% Q+ M+ f" X  |3 L
+ ?) s9 @) I) t. J0 T  K
pygame.display.init:初始化模块8 n6 d) n; b$ h
pygame.display.quit:取消初始化) M, }4 `  Q2 K3 I9 n) E1 f& f$ A
pygame.display.get_init:判断是否初始化成功
- l+ C8 K: r4 w1 }  a" s% G8 ?pygame.display.set_mode:初始化一个准备显示的窗口或者屏幕
( z$ D: ^( M  G+ e/ }: H* {3 V) ypygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
; y6 g8 U, I$ ^: M# Y# s8 k3 gresolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率: Z- j0 v: `9 [6 X4 z
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合
9 j$ U% q5 _# _) ^4 ~  Bpygame.FULLSCREEN 创建一个全屏显示' j1 D/ D- _  ^+ n* k
pygame.DOUBLEBUF 双缓冲模式: H3 f0 X+ m+ t1 ?2 T2 A
pygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
& {- c& S4 z. O- [. Tpygame.RESIZABLE 创建一个可调整尺寸的窗口
- t* \1 L7 Q/ c  ?pygame.NOFRAME 创建一个没有边框和控制按钮的窗口
2 `) p; w* p% V( N, Adepth:深度参数,一般不传值; ~2 l, d1 W: h2 R: X5 p; H
pygame.display.get_surface:获取当前显示的 Surface 对象# O2 M- y9 f7 Y; y
pygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上
" {5 F4 j% Z- T1 d. H4 \pygame.display.update:更新部分软件界面显示  O1 M# i0 ^/ i: y) X& V" O' M
pygame.display.iconify:最小化显示 Surface 对象
; O( q) z1 d3 t  G; x- R/ J6 Fpygame.display.toggle_fullscreen:切换全屏显示和窗口显示
: u1 v' \6 Y5 M8 C& |5 S0 _pygame.display.set_icon:更改显示窗口的系统头像( J# d! Z- W- f* u
pygame.display.set_caption:设置当前窗口标题
5 W. N( }8 i( C6 p2 Jpygame.display.get_caption:获取当前窗口标题
" n; z% l8 f# |- n; M8 F' o7. pygame.Rect: ]4 I, ], Z( Z1 R
# d$ e# J2 ]& v* L: U0 ^
该类是pygame中直接操作对象外界矩形的模块
9 p: |5 f1 l: ?
1 l, B4 s  B5 Dpygame.Rect:创建矩形对象
( E( o3 \( c1 X7 Opygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形1 j" V: N7 i( M) i/ k; u
pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形) |  z1 O: p( m. D, i
该对象具有用来移动和对齐的参数
! U8 M7 h; u* ^. m0 Xx, y8 c3 a' }% h4 d0 W. U
top, left, bottom, right
% [2 V$ ?5 o9 [4 k3 k) [topleft, bottomleft, topright, bottomright5 n6 t9 N: J7 {* x
midtop, midleft, midbottom, midright
9 z! c1 r6 ^9 l( ^" b- x' Zcenter, centerx, centery6 k0 ?! m/ ?3 r/ @
size, width, height
2 `4 @" ^# u" E. y6 {' \w,h
: w8 [5 c. T6 cpygame.Rect.copy:复制矩形
( S$ X5 m  i  W" w9 j5 @pygame.Rect.move:移动矩形5 F, A4 [9 z4 T" n# w* C
pygame.Rect.move(x, y):传入偏移量
8 G/ u  s- @+ U) ?pygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象
! }& o; w9 b7 O' ^4 ypygame.Rect.collidepoint:测试一个点是否在矩形内
  a% Z% D! g8 y9 {' hpygame.Rect.colliderect:测试两个矩形是否重叠
( L- y/ t/ s- @2 Q8. pygame.Color$ H* _, J, X1 [" [) z) c9 L
' Q2 X/ L5 ^$ O4 x& y6 x6 @+ k- @3 Q( k
该类是pygame中用于描述颜色的模块
8 r, }6 i: O" b: t* s: [
, [" R1 [8 ]* G2 Xpygame.Color:返回一个颜色
7 n& l# v4 k/ u7 V  sColor(name):传入名称
9 b0 E- N$ [1 o8 w4 w9 KColor(r, g, b, a):传入rgba参数
  f+ E0 ^7 E: k. L( l- r6 `$ NColor(rgbvalue):传入rgb参数
8 ]! ^" k. N% f$ _$ p$ p" S% ^! Rpygame.Color.r:获取或设置其红色值/ q6 Q& b8 m4 r8 e3 }4 W; p
pygame.Color.g:获取或设置其绿色值
# {; i, O/ u) apygame.Color.b:获取或设置其蓝色值
! F; \/ L" H4 c. cpygame.Color.a:获取或设置其alpha通道值- A) [! @  v7 Z- d. j4 `" H
pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值; r' l0 @4 R3 ^' J$ e# v
pygame.Color.normalize:返回标准化 RGBA 值+ ~: H* P/ R  ]: q
9. pygame.image
5 R# V) P. b& U9 D. t' {- s
* p3 |- }% Y+ P3 u$ Q该类是pygame中处理图像传输的模块
+ ^5 r8 ^# T+ K- J. B1 F1 ~+ e5 P& z8 [3 i
pygame.image.load:从文件中加载新图像
0 r' B4 C2 p2 b: h* O8 o传入文件路径和名称
! V5 _/ s/ W' w7 s# C支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式
: ~7 |/ [1 X# ^; |! s, D7 _pygame.image.save:将图像保存到本地8 ?/ ^! a! v, P5 C. s
传入 Surface 对象和路径
! `6 Z! m: y! X3 W: K支持BMP、TGA、PNG、JPEG格式# ~5 o* S) s0 a2 |
10. pygame.Surface
, ~( X! G7 ~* f, A3 r* j6 c* b% k! Z6 I6 a# k
该类是pygame中用于表示图像的模块+ G8 p( |/ X( t6 H& l8 P

  p7 ^$ d3 c! |) @pygame.Surface:创建对象8 I  }6 j4 a6 I3 b1 I
pygame.Surface((width, height), flags=0, depth=0, masks=None)
0 x3 F  M0 L! G2 M0 d8 v) _pygame.Surface((width, height), flags=0, Surface)/ X2 p. z, L! F5 b' e- f
pygame.Surface.blit:将一个图像绘制到另一个上方# p7 S' @' L: T; B) f/ _/ i
pygame.Surface.convert:修改像素格式# z' b# ?& \& h, w( x
pygame.Surface.copy:拷贝对象' j( H$ k8 N" ~
pygame.Surface.fill:使用纯色填充对象% [5 n7 X4 ^" K" t: s
pygame.Surface.scroll:移动对象
) T4 m% X! B0 W& {, `& b; r/ m% l11. pygame.mixer
0 O$ K8 K/ x5 ^; u; q" R1 D' k6 V' A/ f
该类是pygame中用来加载和播放声音的模块,默认有8个声道
" T- K4 h, t1 Y) w/ R( @) }$ p) ?  Y  s$ a7 m& f+ v% U, G' ~: D
pygame.mixer.init:初始化模块
* ^0 @# L/ T, ]; U! w1 q3 K6 ppygame.mixer.stop:停止播放所有声道
; Y3 s) p0 z' b" h) m+ gpygame.mixer.pause:暂停播放所有声道* k, r: [; `' P5 ^! M& `
pygame.mixer.unpause:恢复暂停播放所有声道6 S$ [, w) t3 V
pygame.mixer.fadeout:停止前淡出所有声音
. N! X" ]2 E0 U7 r. F3 w8 m传入时间参数,设置淡出时间
- y- D  O+ N: V9 F12. pygame.draw
- L& d3 p' D4 U
1 A" b7 `9 ~; ?6 s8 u% _  |$ a该类是pygame中用于绘制图形的模块/ b/ w" h/ w& {2 X' ^- y) T; u0 h

4 w+ f& m, V* E0 K0 Tpygame.draw.rect:绘制矩形% m3 j5 E, L9 Z& `1 W7 N9 r
pygame.draw.rect(Surface, color, Rect, width=0)) I* s% _7 {7 U: o$ t
Surface:绘制在 Surface 对象上8 ^6 j6 A' {1 H: f7 B- W, n# c1 o; k
color:传入 RGB 三元组或 RGBA 四元组
9 R5 {/ v4 V5 ~, {0 B8 [) xwidth:指定边框宽度,0 表示填充该矩形8 @# k2 b9 [# q
pygame.draw.polygon:绘制多边形; p, Y; d) s) e: J
pygame.draw.polygon(Surface, color, pointlist, width=0)
* B# @8 w& P4 A: u: Fpointlist:指定多边形的各个顶点+ f5 x+ F+ d' u, g& ]9 f1 g9 o
pygame.draw.circle:绘制圆形: m' W8 Y6 S# J6 r
pygame.draw.circle(Surface, color, pos, radius, width=0)/ `: t! m+ `2 D1 R
pos:圆心位置" ~8 i2 t( N  k4 P- S6 p
radius:半径
* J/ D; r8 Y' Z& a" j% g3 npygame.draw.ellipse:绘制椭圆
' @2 F( p( h6 s: q( Dpygame.draw.ellipse(Surface, color, Rect, width=0)
! X2 Q/ C+ M- Z5 B+ \Rect:椭圆外切矩形
/ q" c+ V# m- I1 N; n& {4 P! z5 kpygame.draw.arc:绘制弧线
! _* V! L6 t3 W( z- Opygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)* j0 e/ a) g! \0 h3 ^' q- n
Rect:弧线所在椭圆外切矩形
5 a% s; b+ u; c4 u, K% t' ]angle:弧线开始和结束位置
9 }) g+ D8 \; S! S. H' t+ Hpygame.draw.line:绘制线段
- U6 D2 z) _8 Q2 Y# K* W# \, a$ i; epygame.draw.line(Surface, color, start_pos, end_pos, width=1)
% ]$ m% S% C5 @  \/ ]  `, j* ~$ }pygame.draw.lines:绘制多条线段' V. V4 K. H2 h; R  l
pygame.draw.lines(Surface, color, closed, pointlist, width=1)0 y5 F! u6 O: @. z7 |
pointlist:一系列点
! Q$ T, n0 X* Xclosed:若为 True 则绘制首尾相连
* L# ^1 K0 C" w( Z' i  z13. pygame.font! B% I# I% P( _  _/ k( @

1 i  l! ]: k& T- P7 }: g" ?该类是pygame中加载和表示字体的模块
: Q0 {- `1 G, N  z' `$ Y: U) c; H8 Q3 X' _3 v" Y, J6 R' Y& i
pygame.font.init:初始化
4 c( V! \) z+ S+ w. C9 Opygame.font.quit:退出
1 _2 w1 m" @+ d1 g  v5 o$ ?8 y7 Lpygame.font.get_init:判断是否初始化- L  |1 X  z2 m: Z+ D
pygame.font.get_font:获取所有可使用的字体3 R, v7 T! E9 k# R7 m9 C$ p
pygame.font.match_font:在系统中搜索字体
0 O/ K% N* G5 X* hpygame.font.SysFont:从系统字体库冲创建一个对象" V% v) g9 B3 G7 A6 j$ R, c
pygame.font.Font:从字体文件中创建一个对象
  B( o, W9 D( D! A8 \- gpygame.font.Font.render:在新的 Surface 对象上绘制文本/ D6 L0 [; W2 M/ e2 {
pygame.font.Font.size:确定字体大小" c1 z5 s& B( }! H9 m4 _  Q; ~5 s
pygame.font.Font.set_underline:是否加下划线3 a2 ?9 b1 w8 E- J
pygame.font.Font.set_bold:是否加粗
- }" n8 g; L1 @" o. l( R( `4 \pygame.font.Font.set_italic:是否设置为斜体6 h! r1 I( s  k4 K5 J. P4 D
14. pygame.mixer.music
5 Y' l' c% g& f0 c: L! h/ r0 }% g& y
该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式
- d$ u/ G6 J$ @
* L# Y8 E) j6 T( opygame.mixer.music.load:载入一个音乐文件
; W% `8 f: w  fpygame.mixer.music.play:开始播放
* X. \* ?3 S& u' G/ kpygame.mixer.music.play(loops=0, start=0.0)! b  \+ X- {4 o# C2 R" y3 i3 _
loops:控制再循环几次,若为3则一共播放4次. E. r6 }2 a& Q( P  g
start:控制从哪里开始播放,单位为秒2 d4 F# T0 M2 U. I2 Z
pygame.mixer.music.rewind:重新开始播放
: ^! k$ p5 e- V4 G7 Opygame.mixer.music.stop:结束播放
) P* e: H6 v8 A  t# N7 Y! ?7 ?pygame.mixer.music.pause:暂停播放
' E* M4 d- G/ H# a0 Z1 xpygame.mixer.music.unpause:继续播放* }. u: E" j+ I4 L" x/ f
pygame.mixer.music.set_voiume:设置音量
, [# y+ c2 l+ j, G: ^6 b3 Zpygame.mixer.music.get_volume:获取音量
! {- K6 o& b+ ?pygame.mixer.music.set_pos:设置播放位置: k4 C5 |  k2 K$ F" s/ F
传入一个浮点数,控制从什么时候开始播放
6 a4 ?3 n0 f" v, z0 y- e" Tpygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后
; l1 Y" y) m0 Kpygame.mixer.music.set_endevent:设置播放结束事件
) ~7 g, t$ z* D4 Y% ]3 }pygame.mixer.music.get_endevent:获取播放结束事件
6 b& i) O* m$ ^. `15. pygame.mouse$ S  M$ s5 m: [$ y( D. m1 D

1 C; h1 i% Q: F8 y  C' O# ]# I该类是pygame中与鼠标操作相关的模块/ V/ u5 \1 j# y$ U1 s+ G, U- w

. Q. l5 _7 Q3 |. p6 ipygame.mouse.get_pressed:判断鼠标按键是否被按下* u2 M# ]8 y+ m* L4 M% y) ?: E
pygame.mouse.get_pos:获取鼠标光标位置- d6 \" ^- _8 N* m
pygame.mouse.set_pos:设置鼠标光标位置8 Q+ M9 k! U& X
pygame.mouse.set_visible:设置鼠标光标是否隐藏8 F5 v( p  T& D8 F8 F
pygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像
, e& T  N& h' g. _5 Qpygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像
7 `5 q! ~) s. |, q# u/ E) L7 }4 i16. pygame.BufferProxy
8 E8 s! [) K) b3 O+ \/ {  D* u3 x4 O! q: y' t
该类是 Surface对象通过数组协议导出的一个缓冲对象
% I+ R' m& D& k$ U: |( c  S
/ S$ w, O) ?/ L6 M" Spygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象; J, p* e( [/ R; e
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段. L. T7 v3 L! W. ?0 f( D9 o
pygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
8 i% b4 T% u$ H* Ppygame.BufferProxy.write:将字节写入缓冲区3 n# }$ D! x3 A( I0 W9 A8 i
17. pygame.cdrom
4 r; y! t; b) n7 n; u# a
# {# \: H% j* [该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘
6 C, m% @$ i" ~& K( S: F& o$ E1 y, u9 ?' U+ ^/ }8 |; l6 u
pygame.cdrom.init:初始化模块
6 P  ^; @9 z4 S/ ypygame.cdrom.quit:退出模块
/ z. U/ W; N3 i5 rpygame.cdrom.get_init:判断是否初始化成功,成功返回 true
7 l0 Z3 k% ^, D& b. v8 B" spygame.cdrom.get_count:返回 cd 驱动器的个数
- o; _6 e8 C/ y# a8 Apygame.cdrom.CD:管理驱动的类7 B) T6 g3 Y# u+ Q
pygame.cdrom.CD.init:初始化
( r; t5 C' U2 l* W: L4 s/ ppygame.cdrom.CD.quit:退出
% l  Z$ M) n' y' Fpygame.cdrom.CD.get_init:判断是否完成初始化2 S, e& h8 Y' F9 ]( o2 S6 i
pygame.cdrom.CD.play:开始播放
  N( G2 P& X3 z6 G9 A) [pygame.cdrom.CD.stop:停止播放. S4 C. L0 ]1 `
pygame.cdrom.CD.pause:暂停播放
# {% H' o& U8 C! T) m0 f- ?pygame.cdrom.CD.resume:恢复播放8 j5 b3 ]" j& p9 k! ]
18. pygame.PixelArray/ U" U; W8 O2 P( p
* S% c0 S$ B5 C4 o# I
该类为pygame中直接处理访问像素的模块* Z7 W" r8 @! c: p6 k: I( @' O9 F
/ ~. I. a8 Q# W) a2 ?
pygame.PixelArray.surface:获取使用的 surface 对象
( ^2 N3 x  F! F9 J1 K7 ipygame.PixelArray.itemsize:返回像素数组项字节大小: [( n) @6 R5 O. x9 x8 a) x
pygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象
3 i% w+ l2 k/ M$ {7 n* |pygame.PixelArray.extract:从 PixelArray 中提取传递颜色# r- v/ K" C& z+ W4 y( Q
19. pygame.cursors$ i$ O7 {( P: M& [) V1 D" {: g
  M6 S: d# N: b( `
该类是pygame中使用光标资源的模块, o! G+ ?* h( ]: Q

; W& @4 s+ q: z; |2 k! F0 _pygame.cursors.compile:又纯字符串创建二进制光标数据
7 v6 n  ]) f* `  ^pygame.cursors.load_xbm:由xbm文件载入光标数据
8 A( O/ F$ h2 s% _1 W) Q  v20. pygame.scrap
) w+ Q/ X9 _) ?; [4 G6 R* @2 B- O$ U/ \
该类是pygame中用于支持剪切板的模块
8 [! N' a' @, p
& p! I" g$ R9 o+ G' E6 b2 k) ypygame.scrap.init:初始化# [- ]% N$ p8 B4 h
pygame.scrap.get:从剪切板获取指定类型数据9 w! y: C9 \7 m, ]# X6 F8 F
pygame.scrap.put:将数据放入剪切板
  {4 q2 b0 Q! ]) Epygame.scrap.contains:检测是否获得
. p$ s& \6 J! q& l) y21. pygame.sndarray; ?9 q. C# y. [! g; y& }  e

/ b, a: i+ N8 b* n1 ~; ~' G2 i该类是pygame中访问音频采样数据的模块& S8 ]* [! d. o$ F+ q

, E: U% d4 V4 V( Z4 ~pygame.sndarray.array:将一个音频采样复制到一个数组" q- k! ]  H) P+ ?
pygame.sndarray.make_sound:将一个数组变成一个音频对象
! I+ ~! P$ k+ C9 H$ ?. v, R4 c22. pygame.transform+ W1 B3 w+ B+ J$ `% M. s9 Z4 H% _

, }: C0 w' a. p& S. i5 z+ B该类是pygame中用于改变surface形态的模块
/ N' D0 d1 q2 Y" U
8 u! b* j' d' V  }pygame.transform.flip:垂直和水平翻转
' G, G2 N" [9 p* k9 c0 F- G/ |pygame.transform.scale:调整大小到新的分辨率
3 I2 D0 P; f) R; i3 zpygame.transform.rotata:旋转图像
; ^/ ]7 Z: v& U. p23. pygame.tests
; d* G- @/ k, V) J. p+ }- L
* j# }3 X- ?) D1 l2 q该类是pygame中用于单元测试的模块
" o, T8 |& C- U; a
) D& a9 J4 _8 Z/ Zpygame.tests.run:运行测试套件
# B' [. u: B4 ]2 Q5 }/ M24. pygame.freetype
+ l) r  J" L, l2 R5 s4 _& {% ~' R- f6 l
该类是pygame中用来加载和呈现计算机字体的模块,不常用
5 A. l3 ~$ ?, I) I4 G1 x7 h1 s. m' Q) j) t+ H
25. pygame.joystick- J4 H. F. [1 @

# v+ G1 j' _4 T: M, [* m. C  x) q该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档$ @0 u; X0 B% A

: A0 W# O  r9 E% E9 h+ b26. pygame.locals+ D* R0 b: @+ I! a2 H

. {* h$ ]0 N8 q2 L该类是pygame中定义各种常量的模块" W  a8 q9 _6 i$ u; h7 M" _% Q
9 J  a# b) S, V: ^  b6 w( x& z9 F
27. pygame.surfarray
5 w* C, }5 _* Z' o3 a; I; t* V/ L2 L+ F& L6 A+ D8 u/ Q
该类是pygame中使用接口访问 surface 像素的模块,不常用
6 z- w' T8 O& E+ D7 t( g2 s
6 B3 q  x9 g; m+ U  z28. pygame.Overlay  O! F9 l" M1 e& }* b
) P) n3 ?3 y, E0 V
该类是pygame中用于处理视频叠加图像的模块,不常用
0 \! r3 Y7 C' n# c. D# E————————————————/ b. h# C+ Y( D$ ?2 t! }+ S
版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。0 x; V% p9 Q; t; k+ C; f
原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241
1 @8 K6 F0 E$ ~
& l. }* u' U: f4 n' X) s
) [; m, g3 B# a: S




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