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