数学建模社区-数学中国
标题:
pygame 会用这些函数就够了
[打印本页]
作者:
杨利霞
时间:
2020-4-28 15:00
标题:
pygame 会用这些函数就够了
/ z) m1 H+ B% r2 r! S4 G. H+ ]) M7 `8 b
pygame 会用这些函数就够了
* {! s3 Y& {% D; P& R
pygame 会用这些函数就够了
! n1 R+ u3 d1 l+ M8 ^( E
# V( k) p9 U* h! L* N. k
借鉴了pygame的官方文档和一些中译版,对于我们实际写代码时较常用的一些函数和方法进行了整理
6 K; J, U/ ?4 a. R" v& @/ [1 V: c
O, ]$ x8 e* D+ a, O( R8 t
前15个可以说是较为常用的函数,后面的由于不太常用就有所省略。
! R! T- s5 l/ p- `% I2 P
! g4 m- h0 o, |+ L# w7 O! L
本文档只是作为参考,具体使用还请参照官方文档。如果整理的哪里有问题还希望大家指正。这里可以移步个人博客
% \2 c1 C7 C4 h# |7 A
" |/ Y; f8 W; Q
pygame.sprite:基本游戏对象
* [5 W8 d1 z8 Z4 e, A
pygame,event:处理事件
: j2 }2 r: m* R2 L( s8 H; A
pygame.key:键盘按键
% o* p' G$ E7 S9 H" z- W. p
pygame:顶层模块
4 ^# P; N+ D: S9 A2 }
pygame.time:时间模块
' J; u9 F a `9 n" ]
pygame.diaplay:控制窗口显示
" k2 v g! C; I+ w0 p
pygame.Rect:图像矩形模块
4 V1 y, b4 m0 |) G" o ]& H" ^
pygame.Color:颜色模块
) Q" P( y8 {* `' P0 i/ g8 p& H. s
pygame.image:图片模块
+ Z# O( P: e3 d' D5 h2 ?$ C6 G
pygame.Surface:表示图像
3 ?' X; L" ~& W2 F1 k4 {) C
pygame.mixer:声音模块
; B4 f8 Y: @/ p6 S1 v( \
pygame.draw:绘制图像
1 f+ ^- N( h1 Q) k6 x! ]% A0 G/ E
pygame.font:字体模块
3 v; B' M7 W9 N5 p3 q
pygame.mixer.music:音乐模块
0 o5 ^5 y. `8 M7 c
pygame.mouse:鼠标移动
% b8 D; f E& ^% A6 H+ f( h
pygame.BufferProxy:缓冲对象
- T9 k: a- O7 v$ F4 v; N' f/ [* Y
pygame.cdrom:音频光盘
: s: w% l" J3 K" Q: }
pygame.PixelArray:像素数组
! ]8 E2 l; u) \9 P) V* O
pygame.cursor:鼠标光标
- v, l$ ^. z- p
pygame.scrap:剪切板
1 X0 B- g4 H3 E9 V7 q( o; f1 v
pygame.andarray:音频采样
% ]1 B; y' G3 \1 U- U( w) d( ~
pygame.transform:改变形态
: G, o/ |3 x5 u" J: c' G: i
pygame.tests:测试模块
, P( b5 j; L# B) M$ z; T! R+ O
pygame.freetype:计算机字体
4 B( u$ `, E0 J# L* A/ D
pygame.joystick:外接设备
5 v8 j/ G X0 ^$ A# [6 W2 t
pygame.locals:常量定义
# m5 C" ^2 Q! a5 D
pygame.surfarray:访问像素
' a( k- n+ S# c/ @& g8 [
pygame.Overlay:图像叠加
( [: T3 h& Z6 [9 w* N, }/ I {$ J
1. pygame.sprite
, r2 d0 D) J* k; Y
9 g6 x. k7 ?1 O5 C! {+ {
该类是pygame中处理基本游戏对象类的模块
; p" b# E- E' K
% E9 U+ @4 u7 F t+ M2 N
pygame.sprite.Sprite:可见游戏对象的简单基类
) d+ k8 s: i+ r& A0 J/ e
pygame.sprite.Sprite.update:更新状态
; r- |" ^5 @% |
pygame.sprite.Sprite.add:加到组中
( a# V t4 u- X, e; d; D
pygame.sprite.Sprite.remove:从组中删除
# O/ h, I D4 m/ Z' X' m7 t
pygame.sprite.Sprite.kill:从所有组中删除
# |" f) u2 C, B6 a( S" G
pygame.sprite.Sprite.groups:包含此Sprite的组列表
, `1 ]. j _# l7 `. i# m; M
pygame.sprite.DirtySprite:具有更多属性和功能的Sprite的子类
+ T8 S# d& E* F& B# o. r! h6 v7 W
pygame.sprite.Group:保存和管理多个Sprite对象的容器类
: ?/ e3 {3 i2 f. D2 x3 D
pygame.sprite.Group.copy:复制组
4 C: j& X% w) V4 v
pygame.sprite.Group.add:添加到该组
' s. l7 E" }' ^ ^* e
pygame.sprite.Group.remove:从组中删除
5 |: O5 r" ]5 W: u3 L0 @
pygame.sprite.Group.has:检测是否包含
9 [ ]! O$ n/ G( B$ c0 S
pygame.sprite.Group.update:更新状态
3 B. t0 Z4 \2 E+ j& G
pygame.sprite.Group.draw:绘制图像
( \) y- x, X% |2 \$ e( A4 ^, x0 Z
pygame.sprite.Group.empty:删除所有
: N5 J; q/ G6 p# K; X
pygame.sprite.collide_rect:使用rects检测两个sprite之间的碰撞
p) X* x4 g* l {0 y
pygame.sprite.collode_rect_ratio:使用按比例缩放的rects检测碰撞
# T; _) U+ ]3 s9 [2 a' C, ]1 X
pygame.sprite.collide_circle:使用圆来检测碰撞
1 W7 k% o9 I) m7 h/ a* ~" U
pygame.sprite.collide_circle_ratio:使用按比例缩放的圆检测
4 H' ?0 X6 L+ B' r. _1 A& @) p
pygame.sprite.collide_mask:使用蒙版检测碰撞
2 f2 W! ^7 o& G
2. pygame.event
* C0 e- r" J3 c/ o: Y
: ?6 t5 V* z& S# z, z
该类是pygame中处理事件与事件队列的模块
; A1 a, L9 x- Y/ M# I
0 C- C y: Y8 ^, ]% C l- u
pygame.event.pump:让其内部自动处理事件
: u" f/ `; ]' X; u: _3 ?
pygame.event.get:从队列中获取事件
: Q- o) I, w: e E
pygame.event.poll:从队列中获取一个事件
% u7 p2 y$ o8 d' |! v+ }+ t" X
pygame.event.wait:等待并从队列中获取一个事件
( w/ g% s! I* s# G6 C
pygame.event.peek:检测某个类型事件是否在队列中
6 i7 d$ o. o! V9 X; q* ]
pygame.event.clear:从队列中删除所有事件
2 S! m7 [6 z5 p
pygame.event.set_allowed:控制哪些事件禁止进入队列
/ D$ Y" f( V% l
pygame.event.set_blocked:控制哪些事件允许进入队列
2 J0 Q+ F3 N3 C( q! c
pygame.event.post:放置一个新事件进入队列
7 O3 v6 q% v) b2 z7 T- I
pygame.event.Event:创建一个新的事件对象
3 z$ ^. \( Y. [( M) y" ?2 K
事件种类:
, A4 G" N) [6 E" i$ j" b" w
QUIT:退出
: h7 a5 b8 K$ d9 O
KEYDOWN:按下按键
# D7 H- I1 X( w6 w) t, t
KEYUP:松开按键
y: z; _$ I0 Z2 S& c
MOUSEMOTION:鼠标移动
4 ~! {9 e G' T3 h1 B x0 O! L; h. A
其他游戏杆、游戏手柄、追踪球事件
1 h4 c" I3 {8 T1 k- X; ]* \
支持自定义事件
: x0 A K* d4 l% M" [4 |
3. pygame.key
2 t& I" O s( i6 `! W' R
# z8 X! }6 z7 [+ ^$ v0 k
该类是pygame处理与键盘有关的模块
% P( r, O1 \# m# E4 @ z: R4 s
' D7 X4 E# [2 s3 Y3 p5 T% |. \7 V
pygame.key.get_focused:窗口获得键盘输入焦点返回True
7 `: X7 A- ` d# S/ [6 n% F9 P0 ]
pygame.key.get_pressed:获取键盘所有按键的状态
2 U, c! G f( t) g0 R
key属性:pygame预定义的键盘上的键位
' T m; @+ k: B
mod属性:pygame预定义的组合键
0 b+ P$ K" ]6 H. X: c$ M; ^
4. pygame
. t0 U9 A3 T2 C. Z
+ ~2 Q- j% j" _" t( v
该类为最顶层的模块
) ?; K. y( a9 o
H7 C4 w' e. t i) H4 ^, O1 y
pygame.init:初始化导入所有pygame模块
8 T& s. J$ ~9 V8 j+ P4 D- I( p
pygame.quit:卸载所有导入的模块
# `2 T; Q" r" O
5. pygame.time
8 v1 h% X! E9 _% j
. i z5 ~( J1 I( S1 C( N4 @
该类是pygame中用于时间管理模块
8 b% _: y* P( H, B; W
7 L4 H4 v" ~6 U* h4 D
pygame.time.get_ticks:以毫秒为单位获取时间
, l7 X! \& s/ j/ \% [' G# o
pygame.time.wait:暂停程序一段时间
& G7 J E1 b9 D9 w/ @/ P5 J+ |
pygame.time.delay:暂停程序一段时间
; X" P8 ?) K$ k O. M: c
pygame.time.Colck:创建一个对象来帮助或更新时间
% }1 s/ }& V+ ~ y7 [
pygame.time.Clock.tick:更新clock对象
8 k# u. ]$ W4 |# z1 }+ i
6. pygame.display
+ Z& _6 U" c% P- w) M
1 H& q& r) y. k6 x# S( B. f
该类是pygame中用于控制窗口和屏幕显示的模块
/ s N9 r, o3 _' v
% `: n8 n& q* {+ ?6 `6 W, ]7 h
pygame.display.init:初始化模块
' h5 M/ _$ Z8 }6 V3 X2 G W
pygame.display.quit:取消初始化
0 _. Y2 L# A2 c* `1 M3 j! W; _8 e8 b
pygame.display.get_init:判断是否初始化成功
& F/ A" p9 [ D6 i2 D5 L7 \
pygame.display.set_mode:初始化一个准备显示的窗口或者屏幕
' L. k/ J% F- k8 {$ a, v) j, h2 x
pygame.display.set_mode(resolution=(0,0), flags=0, depth=0)
0 a+ z+ I6 A$ X
resolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率
; q8 X9 x$ K' P
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合
8 S: |5 P) e. W
pygame.FULLSCREEN 创建一个全屏显示
# I. l6 p$ X; ]6 j( Y% \0 h
pygame.DOUBLEBUF 双缓冲模式
( ]1 x# h/ v, E' d) T
pygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
2 T( v. T4 c( P1 I& t0 W* v2 O! [
pygame.RESIZABLE 创建一个可调整尺寸的窗口
J( v5 N7 [8 o8 d5 q) y
pygame.NOFRAME 创建一个没有边框和控制按钮的窗口
- L, {2 x. i5 K$ D" n% H1 p9 {
depth:深度参数,一般不传值
" z ~& A$ o* O# z! g* r7 x
pygame.display.get_surface:获取当前显示的 Surface 对象
5 w7 u2 A1 a! l, i
pygame.display.flip:将完整待显示的 Surface 对象更新到屏幕上
9 a& T; W# i9 B% E" \# l$ k
pygame.display.update:更新部分软件界面显示
% X, \3 [" w9 y; G- z1 M5 F1 _
pygame.display.iconify:最小化显示 Surface 对象
3 K9 c! w& D, C! L: `' h7 D3 \
pygame.display.toggle_fullscreen:切换全屏显示和窗口显示
# L. j# x2 P0 N4 N. f/ }4 i8 n3 h
pygame.display.set_icon:更改显示窗口的系统头像
% C% Y, o* A0 h; E- K* k7 R
pygame.display.set_caption:设置当前窗口标题
7 F4 q4 p4 S) x. _' `1 v' V5 m1 B
pygame.display.get_caption:获取当前窗口标题
& X; q2 F& |6 p+ ?& L& n* B3 w1 l( V
7. pygame.Rect
! w# i/ Q: N, t [( `
9 P7 v6 C' U& R8 G# U; m1 P& K
该类是pygame中直接操作对象外界矩形的模块
8 N+ w) L- r9 j6 O7 p
% m" {" K( h7 K7 C
pygame.Rect:创建矩形对象
! W3 z3 C7 f, j, B" J1 q
pygame.Rect(left, top, width, height):根据左上角坐标和长宽创建矩形
% S! s/ R7 }! d% I r8 l* \+ G
pygame.Rect((left, top), (width, height)):根据左上角坐标和长宽创建矩形
! t& `5 v2 Z O j
该对象具有用来移动和对齐的参数
2 D5 n7 n" [* h2 B' Z2 U
x, y
& i# Z; }. |9 a6 t) {4 l5 t7 |: g
top, left, bottom, right
% V; m& a" ^) j8 V! B& R" e% w* R
topleft, bottomleft, topright, bottomright
" e. b- B' o4 ?7 t( B
midtop, midleft, midbottom, midright
" M1 D4 T- @0 i0 e8 K/ n$ x
center, centerx, centery
: [$ Q. Y% `! \; V4 k
size, width, height
$ o# v* m1 u/ D/ G: L
w,h
8 \# [6 B; u/ O8 s- F
pygame.Rect.copy:复制矩形
! z4 d: Q% ^2 b! d5 K
pygame.Rect.move:移动矩形
6 R+ k# {! p* v
pygame.Rect.move(x, y):传入偏移量
, w% a, D4 Z: d! J F9 W
pygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象
# n( X5 w6 s6 y. p
pygame.Rect.collidepoint:测试一个点是否在矩形内
: p F4 S; B2 ?# o& A' q
pygame.Rect.colliderect:测试两个矩形是否重叠
8 M' S- B L c7 e# p
8. pygame.Color
7 P( c5 q! S: t7 q
+ _3 @- n" B5 z/ H, L- ~
该类是pygame中用于描述颜色的模块
; d2 l" [+ ~% [" _
, r& f" \; u! V; ]1 u
pygame.Color:返回一个颜色
( ~* f3 O$ `( N R# P* P
Color(name):传入名称
3 W# X+ W8 A4 R. C. }
Color(r, g, b, a):传入rgba参数
7 x9 g {* ?0 }' x8 Y. r* z
Color(rgbvalue):传入rgb参数
, S r( m2 P4 o& y2 r# a
pygame.Color.r:获取或设置其红色值
3 {; _! [2 y) B0 x4 E1 O; y
pygame.Color.g:获取或设置其绿色值
' M" B( L6 X. F! H1 R, z% h
pygame.Color.b:获取或设置其蓝色值
x! n1 t, \% ^1 K' B! W
pygame.Color.a:获取或设置其alpha通道值
. f0 {4 Y* r) C5 x% J
pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值
3 N% [8 W( P6 K0 p1 Z9 Q, e
pygame.Color.normalize:返回标准化 RGBA 值
' H" w( c0 M' p; Z# d! `, ^
9. pygame.image
m- }& l1 j X2 O, G% \6 w9 I
1 c$ D8 h3 r) I/ P3 ^4 z1 C
该类是pygame中处理图像传输的模块
% h0 S/ k, a3 @3 n V8 i* Q! \
$ _# `; W: Y. _, T, _
pygame.image.load:从文件中加载新图像
, R: [6 y3 f U' R) _2 d$ s6 M
传入文件路径和名称
+ Y O$ k+ T5 v
支持 JPG、PNG、GIF、BMP、PCX、TGA、TIF、LBM、PBM、XPM格式
: J2 ^8 p3 i3 {2 T, ]9 P! C
pygame.image.save:将图像保存到本地
0 [, `! x" s2 R' T# d1 K+ N
传入 Surface 对象和路径
; h$ F F2 Q6 K% f; t( `
支持BMP、TGA、PNG、JPEG格式
& ^3 [. ~) |1 A3 a
10. pygame.Surface
8 ?5 [& v2 Y) q! ?0 L- e- \2 s6 U2 |
( W" `* ^( A" P$ H$ p
该类是pygame中用于表示图像的模块
1 p. o4 l0 y% `# N) }
5 ~& o' J6 I! J3 |9 G
pygame.Surface:创建对象
1 y. o* ?7 M8 {' }: b+ ?, u
pygame.Surface((width, height), flags=0, depth=0, masks=None)
; \: m8 g& ~' Y" @) ^! B
pygame.Surface((width, height), flags=0, Surface)
, D( h' L) x/ ]' M
pygame.Surface.blit:将一个图像绘制到另一个上方
* F% s( ?3 C. K L
pygame.Surface.convert:修改像素格式
- p Y+ l3 T: D2 e, c& d( Z; Z7 l
pygame.Surface.copy:拷贝对象
: i1 Y: p" |* C3 \! _. a* O
pygame.Surface.fill:使用纯色填充对象
/ N9 ~. T, U. l( Q
pygame.Surface.scroll:移动对象
^2 ?# L) |8 h6 H: ` z, n3 h
11. pygame.mixer
" {' M* W# P& k
( E6 R* L- ~4 \2 }
该类是pygame中用来加载和播放声音的模块,默认有8个声道
/ ~: ~) L' J" w
- T3 Q g& S+ n( K1 V' _
pygame.mixer.init:初始化模块
: _- H1 A. ~* L0 Y- ]5 N) k) c. C
pygame.mixer.stop:停止播放所有声道
' x3 {! Q: m4 M! b! h2 i
pygame.mixer.pause:暂停播放所有声道
1 [$ P, F0 ^3 t2 _" E8 n
pygame.mixer.unpause:恢复暂停播放所有声道
/ t& d; J! y( F1 s3 o( a
pygame.mixer.fadeout:停止前淡出所有声音
1 _3 P& J7 e! [0 l* Y
传入时间参数,设置淡出时间
! ^4 c7 E0 m' m; m! p
12. pygame.draw
+ @6 H- V; `0 @1 G( T: M
+ }6 S g+ j* n ]- I
该类是pygame中用于绘制图形的模块
$ C3 ~. H9 W( x* F1 L
s1 I& h: i, M" u' E1 c9 m
pygame.draw.rect:绘制矩形
+ ^2 d) J( [8 U5 n1 {4 c% c
pygame.draw.rect(Surface, color, Rect, width=0)
! v/ m F' z- m3 e: c
Surface:绘制在 Surface 对象上
" Z$ F% M( j) q) d n# }
color:传入 RGB 三元组或 RGBA 四元组
+ U0 J. e6 z/ b7 Q- i5 o
width:指定边框宽度,0 表示填充该矩形
7 A" L# t# t, Y' k) o
pygame.draw.polygon:绘制多边形
: y0 M% z' B3 Q$ O
pygame.draw.polygon(Surface, color, pointlist, width=0)
! w: y B3 h: W& c7 e9 |. |8 c
pointlist:指定多边形的各个顶点
' @; E9 o$ w" b( z- T" l! I/ Q/ g
pygame.draw.circle:绘制圆形
# F/ {0 P2 h$ S
pygame.draw.circle(Surface, color, pos, radius, width=0)
, j4 g3 d% u$ t J# _. B @% Q
pos:圆心位置
: l/ {& u1 W: I+ p$ y' H
radius:半径
T! k9 B4 ~: [, L2 Q6 u
pygame.draw.ellipse:绘制椭圆
5 C$ }- t* V J& Z
pygame.draw.ellipse(Surface, color, Rect, width=0)
+ e+ L; g7 J7 v$ l
Rect:椭圆外切矩形
' H- A2 M' g0 U: H' c$ Y; D
pygame.draw.arc:绘制弧线
' X& _2 _# D( v5 {- h6 f9 x
pygame.draw.arc(Surface, color, Rect, start_angle, stop_angle, width=1)
. Y" ]" b! \1 E3 X9 ]
Rect:弧线所在椭圆外切矩形
. v! I. N: c" M B
angle:弧线开始和结束位置
' `4 T$ N# M- t) ]1 O. ~' s
pygame.draw.line:绘制线段
7 `( O+ _1 R% s+ g9 j
pygame.draw.line(Surface, color, start_pos, end_pos, width=1)
. [1 L% p- Q) j- |( o
pygame.draw.lines:绘制多条线段
$ M) K6 c* f7 y- T% ?" j/ }% [% W
pygame.draw.lines(Surface, color, closed, pointlist, width=1)
8 y. S9 [. x# C0 z- m( s
pointlist:一系列点
1 }. M* R o: i+ ^
closed:若为 True 则绘制首尾相连
( j: Y# F$ W6 `( y$ `7 Y
13. pygame.font
) N3 M+ F: x1 \+ m8 y# S1 \
/ u4 P% z! L4 Q9 u
该类是pygame中加载和表示字体的模块
0 [" j# ?9 _! q- V( l$ `
+ K# t6 T4 C5 c- h: h0 O
pygame.font.init:初始化
5 ^( R+ h5 f- {' V [" c Q) Q
pygame.font.quit:退出
& D9 i( U4 {1 ]1 e5 c
pygame.font.get_init:判断是否初始化
+ H6 H! L6 ~% X/ ~" b
pygame.font.get_font:获取所有可使用的字体
3 q& w+ u6 z3 t/ K; [: F! b' ^+ `2 P4 O
pygame.font.match_font:在系统中搜索字体
+ w+ k# P" b7 i1 U
pygame.font.SysFont:从系统字体库冲创建一个对象
3 J Z: s# `- l% h
pygame.font.Font:从字体文件中创建一个对象
9 o- H) L X% t
pygame.font.Font.render:在新的 Surface 对象上绘制文本
1 G' s7 d' X; Z0 u( M7 D, t
pygame.font.Font.size:确定字体大小
' J i1 i6 o% L
pygame.font.Font.set_underline:是否加下划线
' [& B- v# N& e8 a2 ^( y" J
pygame.font.Font.set_bold:是否加粗
( \/ \( ?3 Z. H$ \
pygame.font.Font.set_italic:是否设置为斜体
: v/ K U e7 e' [9 c+ G, t! k
14. pygame.mixer.music
$ Q1 d6 u8 j0 x
" u& O. B7 }: B7 T2 [8 K
该类是pygame中控制音乐播放的模块,对于MP3格式的支持受限,建议OGG格式
% m- o- S( w$ O6 P$ w3 |* \5 c
: i8 T6 `* \( T* {
pygame.mixer.music.load:载入一个音乐文件
" z4 F7 c% V/ P4 e
pygame.mixer.music.play:开始播放
3 V5 o# M( r" Q
pygame.mixer.music.play(loops=0, start=0.0)
( z3 V. N, \) ~" i G3 E$ p
loops:控制再循环几次,若为3则一共播放4次
% e3 u# g2 t* U: }4 _6 } j
start:控制从哪里开始播放,单位为秒
2 P: @# q% [7 p1 @0 `
pygame.mixer.music.rewind:重新开始播放
. [' ^! {# a2 j% A" Y
pygame.mixer.music.stop:结束播放
$ Y+ f2 H$ _0 F" a1 c' \* o
pygame.mixer.music.pause:暂停播放
4 m# K9 S- i6 D9 j/ p" Y6 o- \
pygame.mixer.music.unpause:继续播放
( B d6 A) T( F) O
pygame.mixer.music.set_voiume:设置音量
% Q Z. m- a' z w9 N! ?" g# z
pygame.mixer.music.get_volume:获取音量
5 j4 A9 F9 n) F3 V
pygame.mixer.music.set_pos:设置播放位置
# e& @; L4 b( D: T# k( b; F2 P
传入一个浮点数,控制从什么时候开始播放
! _! w' x* V) q& M* v0 m1 K
pygame.mixer.music.queue:将一个应用文件放入队列,排在当前播放的音乐之后
1 e) j& D. H5 D& g
pygame.mixer.music.set_endevent:设置播放结束事件
9 X5 E; J& g3 U! u2 w2 a- w' D
pygame.mixer.music.get_endevent:获取播放结束事件
; v! k( u! ^2 H9 K
15. pygame.mouse
1 ^0 w- L( y* W. \& M. b
- s8 l& d. z$ y7 f9 G
该类是pygame中与鼠标操作相关的模块
: n. k6 t- D# z4 k/ ?3 E0 I
! g8 P# ^0 f6 b! U. i6 S
pygame.mouse.get_pressed:判断鼠标按键是否被按下
9 X* ?% ~$ l0 ?. M
pygame.mouse.get_pos:获取鼠标光标位置
& J9 `" Q" F! r+ m1 x* S
pygame.mouse.set_pos:设置鼠标光标位置
/ V$ z/ W- w1 t8 L- c9 H; b
pygame.mouse.set_visible:设置鼠标光标是否隐藏
( q7 {: C* J" k3 [, V" O
pygame.mouse.set_cuisor:设置鼠标光标在程序内的显示图像
4 x' `" N1 q- x( J
pygame.mouse.get_cursor:获取鼠标光标在程序内的显示图像
4 e# P1 \, g _0 [: B: I
16. pygame.BufferProxy
" _* ]4 B- c" n6 [
1 |1 {) Q1 _# r$ Y7 f" x
该类是 Surface对象通过数组协议导出的一个缓冲对象
% X+ {; u7 ?& m& m! _
! h: L- L: f! B& T8 L
pygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象
6 y4 Q5 [- w8 ?2 I3 {9 x$ P
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
7 \: @- ~3 l* ? `, { {& \9 M& }
pygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
' o% W/ T$ m/ h1 ~
pygame.BufferProxy.write:将字节写入缓冲区
$ m( B9 h: x$ s2 }
17. pygame.cdrom
" b. X6 f1 P9 b4 A, `/ A8 d
1 j4 H) n; D* w0 @3 f
该类是pygame中使用音频cdrom的模块, cdrom 即 Compact Disc Read-only Memory 只读光盘
6 K1 D f! L( z
5 X x8 Y3 s# f: {
pygame.cdrom.init:初始化模块
. _+ i: L$ v9 n- A2 X1 K
pygame.cdrom.quit:退出模块
2 p- v) w' B+ V
pygame.cdrom.get_init:判断是否初始化成功,成功返回 true
% w2 B( U- {5 ]" V5 x. Q# w3 P
pygame.cdrom.get_count:返回 cd 驱动器的个数
0 [, Q- F/ k+ v& j+ b; M
pygame.cdrom.CD:管理驱动的类
( W: ?' W8 j8 c4 Y5 h! u: ]6 v# C
pygame.cdrom.CD.init:初始化
% u7 U3 }8 d. D* \4 Q$ B# U4 W1 j
pygame.cdrom.CD.quit:退出
( ?' v0 ^" w- E$ E& a% Z
pygame.cdrom.CD.get_init:判断是否完成初始化
2 ?* D" L Y! g3 R
pygame.cdrom.CD.play:开始播放
+ } i8 s$ f3 ^1 l
pygame.cdrom.CD.stop:停止播放
' }( J# I, o2 |+ z) U) L
pygame.cdrom.CD.pause:暂停播放
7 t3 k% D( R0 e
pygame.cdrom.CD.resume:恢复播放
( ~1 a; b# s+ o* n
18. pygame.PixelArray
/ }/ l" K( U0 C* X1 K
6 Q$ W; C7 _6 X5 s" G9 F1 w
该类为pygame中直接处理访问像素的模块
6 ]% r/ C( E* V; e
$ f8 ?2 f5 v1 k& f2 s% A% M4 C* j* o
pygame.PixelArray.surface:获取使用的 surface 对象
4 a4 m& k0 Y: \) \3 e6 r
pygame.PixelArray.itemsize:返回像素数组项字节大小
7 M; \0 D' y p5 a$ Q
pygame.PixelArray.make_surface:根据当前 PixelArray 创建新的 surface 对象
) d! D4 |$ \) {& e6 d
pygame.PixelArray.extract:从 PixelArray 中提取传递颜色
, Z5 U1 p1 ?" k5 n3 M2 @: q
19. pygame.cursors
5 O! Q, ~( T; w% _5 S
3 Q4 {$ {) t6 v& v' c; J
该类是pygame中使用光标资源的模块
3 y- V9 i, E0 T, D% f; B2 c
: S: @5 Z# }! N( _8 \5 g& Y; q$ S
pygame.cursors.compile:又纯字符串创建二进制光标数据
! u( l; H% |$ j# y
pygame.cursors.load_xbm:由xbm文件载入光标数据
3 o; }! _) c# E- M I
20. pygame.scrap
0 m) y% C- o2 ~( J- ~6 P4 L
( {# X c9 B4 |8 Q4 X# t7 V
该类是pygame中用于支持剪切板的模块
* x+ q, P3 }, o+ e5 m; T
+ r* N8 y8 D0 q
pygame.scrap.init:初始化
5 k1 N# `- @, k$ @4 q
pygame.scrap.get:从剪切板获取指定类型数据
6 k8 t( M$ |! ~ |
pygame.scrap.put:将数据放入剪切板
1 N, j+ W4 ]1 y6 T( w' [6 u" R
pygame.scrap.contains:检测是否获得
& Z4 N+ S9 h" I' m, C0 s
21. pygame.sndarray
# F' o' O4 a2 z' x; t
! O1 B5 p9 m3 n- o/ P+ [: J5 |
该类是pygame中访问音频采样数据的模块
0 j2 _7 R( @! Y4 P7 z; E- R+ Z
/ Y/ M j: B; l
pygame.sndarray.array:将一个音频采样复制到一个数组
; x. s9 S2 Z6 V6 f) \! r
pygame.sndarray.make_sound:将一个数组变成一个音频对象
, i( ]# h5 i4 w8 c9 Z( v+ U3 O
22. pygame.transform
! Z3 _5 g0 t+ ]
- }2 @2 R$ c2 w# w8 b3 [3 x
该类是pygame中用于改变surface形态的模块
1 t% |+ j. H5 c0 Y! Z5 X
9 u* `* A/ ^3 B1 J( P+ U& q6 U
pygame.transform.flip:垂直和水平翻转
+ C! J. C& \2 N" `" _* Y
pygame.transform.scale:调整大小到新的分辨率
8 U/ ]* |8 |% k
pygame.transform.rotata:旋转图像
7 ~, r+ Z' y; S( ]% M
23. pygame.tests
8 j" k% g7 _7 ~. D! n
) h6 T: z' q$ m
该类是pygame中用于单元测试的模块
5 j9 m8 w7 u+ K$ D6 u
# x9 U e8 }0 ^# M1 d3 }, d
pygame.tests.run:运行测试套件
. t8 N* T: h9 r& H, K( E: [6 W7 {
24. pygame.freetype
) m6 x- g. L- ]; S' r2 T( a0 Y G
+ q# O% e4 |, i9 U
该类是pygame中用来加载和呈现计算机字体的模块,不常用
! x4 ?3 S N* t5 w* z' [1 y5 k
1 E* R" ], M( C1 X3 W
25. pygame.joystick
5 `6 V( B! ~* ^' F/ U; K7 {" N% b
2 P9 F! ~& l$ O* i3 i
该类是pygame中与游戏杆、游戏手柄、追踪球交互的模块,详情参考文档
: T6 k" ^2 B' N
' q1 `. [4 |5 F7 t( O) y8 r0 R. j
26. pygame.locals
& b* h3 K8 b T4 Q |. r& \; y/ ^
# B, {' Z. P( S% v6 w
该类是pygame中定义各种常量的模块
& f# \8 o7 }* L1 U
% ~4 U0 Z8 ~: Z" }
27. pygame.surfarray
8 z% f* `# A2 U) X/ Y; e
: a* U- C x4 j) s2 D: R" u6 s
该类是pygame中使用接口访问 surface 像素的模块,不常用
; ?# n7 h/ X# ?* B6 n0 U& @ f* k
: Y$ V& \- w/ B# F2 P1 @0 n
28. pygame.Overlay
% M# D/ ~1 E) G3 U+ _* `- E
# N2 V3 f& c l, _/ o2 j
该类是pygame中用于处理视频叠加图像的模块,不常用
6 |! v0 u \/ E' N0 ]0 r
————————————————
7 `7 A) @4 c- F5 R- b0 B) z
版权声明:本文为CSDN博主「丁生呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
/ J2 y1 |5 s4 R2 i! B' X c
原文链接:https://blog.csdn.net/qq_43733805/article/details/105809241
0 y! I7 D7 x( A( d& j
1 c' a: h @1 i, `7 e* A
6 z6 r2 w" p- E5 ?
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5