数学建模社区-数学中国
标题:
pygame 会用这些函数就够了
[打印本页]
作者:
杨利霞
时间:
2020-4-28 15:00
标题:
pygame 会用这些函数就够了
, F5 R$ V3 V+ P9 k9 n
pygame 会用这些函数就够了
- d0 ?# b6 h* f0 @& f( X& {$ u
pygame 会用这些函数就够了
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 t
pygame.key:键盘按键
0 {& ?: s- o0 ^6 ]0 O% e" U' `' l
pygame:顶层模块
$ u/ v, c4 |7 T
pygame.time:时间模块
5 i. n8 k* \; ?( w( S2 M3 f/ d
pygame.diaplay:控制窗口显示
& `( g$ Q( O% R2 R
pygame.Rect:图像矩形模块
) x* i, g. U2 F/ f6 ~0 L; L0 c& P
pygame.Color:颜色模块
: v) u! h, {! r
pygame.image:图片模块
5 ~0 h6 k! y+ L( x
pygame.Surface:表示图像
. O/ `$ Z' _( \3 v
pygame.mixer:声音模块
$ `7 F! f& X( E, l9 k. K0 A; R
pygame.draw:绘制图像
2 t( U/ l- @1 h/ _! S
pygame.font:字体模块
s3 E( h, k! E1 H
pygame.mixer.music:音乐模块
2 }4 N, |# |3 T; [$ y+ S
pygame.mouse:鼠标移动
4 w) _( ~+ l+ s2 q
pygame.BufferProxy:缓冲对象
6 A* K* L5 C# Z! X) b: W' L) g# n
pygame.cdrom:音频光盘
! ]& w r; x- y: R$ a# r0 M9 I
pygame.PixelArray:像素数组
% b9 e ~8 |/ ?% ]( E4 B# t8 R$ e
pygame.cursor:鼠标光标
$ b3 e6 P0 f9 ^; u
pygame.scrap:剪切板
$ A; ?/ b4 x" ]) j; D* }: m% D' T2 q
pygame.andarray:音频采样
7 {4 L3 Y! ~6 Z& [
pygame.transform:改变形态
; \1 K6 }8 i- k2 T
pygame.tests:测试模块
L3 o9 ]& i& W3 |, d g2 a0 f
pygame.freetype:计算机字体
8 B; s. y4 ~1 v* D$ ^% a
pygame.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 J
pygame.Overlay:图像叠加
+ @" W* H, H) Y# \2 l+ ?4 T& D
1. 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 l
pygame.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' ?- t
pygame.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 ~* w
pygame.sprite.Group.has:检测是否包含
; E5 K1 ?! Q, v, x b+ N& T* m
pygame.sprite.Group.update:更新状态
& v( p. k8 T* S4 ?1 C
pygame.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" N
pygame.sprite.collide_circle:使用圆来检测碰撞
& D2 r9 } S5 x3 v
pygame.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 z
2. 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 m
pygame.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: i
pygame.event.peek:检测某个类型事件是否在队列中
; E& E$ I, t9 d/ d, T
pygame.event.clear:从队列中删除所有事件
+ [: I8 [6 D$ F6 ^9 Z+ v. l( v
pygame.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# ]& `) i
pygame.event.Event:创建一个新的事件对象
. _2 A8 g& O- P: C; X
事件种类:
3 L7 g/ {3 L! X% z4 Q) E
QUIT:退出
( s- d+ ~) Y# J. y' w( V
KEYDOWN:按下按键
% l) r, B% _. U, H8 o4 G
KEYUP:松开按键
4 ]2 x; P/ m& ], r& `. n
MOUSEMOTION:鼠标移动
3 x* Y/ P, L3 Y# A$ O
其他游戏杆、游戏手柄、追踪球事件
+ l/ u7 Q" N8 f G9 `; H2 N
支持自定义事件
* V' O$ W# K# U" }# X' g+ p! k
3. 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 o
pygame.key.get_focused:窗口获得键盘输入焦点返回True
% ^; m( K" o2 f8 ^1 B8 ~" l6 d, V
pygame.key.get_pressed:获取键盘所有按键的状态
2 n+ o4 }; w! ]" j
key属性:pygame预定义的键盘上的键位
1 j1 V; a) w: T" Z
mod属性:pygame预定义的组合键
, X( U7 I: t# W6 H4 O2 N
4. 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 @- \% O
pygame.quit:卸载所有导入的模块
6 m; S) O& s9 Z4 U4 t8 N
5. 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% J
pygame.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 m
6. 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 r
pygame.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 v
resolution:传入屏幕的长宽,若为 0 则默认当前屏幕分辨率
2 o& ~0 K! x1 e# l$ p i
flags:控制显示类型 可以多种类型用管道符 ‘ | ’ 组合
% N2 u9 a H% r6 x b$ H
pygame.FULLSCREEN 创建一个全屏显示
- K o0 F, T' Q
pygame.DOUBLEBUF 双缓冲模式
6 a5 p1 x# Y: X" P* ^: s
pygame.HWSURFACE 硬件加速,仅在FULLSCREEN下可以使用
! ~4 K( T. }) Q. L% m+ D6 K. a
pygame.RESIZABLE 创建一个可调整尺寸的窗口
" g; S) h0 U" _% b2 \
pygame.NOFRAME 创建一个没有边框和控制按钮的窗口
8 t/ i* E* h7 C6 u9 c
depth:深度参数,一般不传值
9 n( L2 f7 u6 B$ h% \! A+ p
pygame.display.get_surface:获取当前显示的 Surface 对象
a4 r( Q4 _! ^9 u# j$ I
pygame.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% F
pygame.display.set_caption:设置当前窗口标题
# _% E# ~- S* p% G! f! }5 C0 w
pygame.display.get_caption:获取当前窗口标题
8 ^! P% j6 E3 H+ f; a3 B
7. 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 N
pygame.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 o
topleft, bottomleft, topright, bottomright
+ Q' {, E6 ~$ F$ @8 V
midtop, midleft, midbottom, midright
, k6 V0 ?, Y7 i/ V$ s
center, centerx, centery
. f0 ]; q2 Q, @/ o7 B; T
size, width, height
+ R/ S4 M0 G( y" o, t: ~! w
w,h
9 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 ]+ _% v
pygame.Rect.contains:测试一个矩形是否在另一个矩形内部,传入矩形对象
6 Q1 Q: ^; G# V9 E; o
pygame.Rect.collidepoint:测试一个点是否在矩形内
2 d' t& h- X+ U! p
pygame.Rect.colliderect:测试两个矩形是否重叠
0 X3 e6 W3 z `# @
8. pygame.Color
5 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 Y
pygame.Color.a:获取或设置其alpha通道值
r, L) W$ g6 Q4 i
pygame.Color.cmy:获取或设置其 cmy (青、洋红和黄) 值
% P# \, L: o7 `& z0 p% [$ M
pygame.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' C
pygame.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 p
pygame.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 R
pygame.mixer.init:初始化模块
k% z* S: F; m; V/ M: y. M
pygame.mixer.stop:停止播放所有声道
1 p7 F3 A9 A/ B& g
pygame.mixer.pause:暂停播放所有声道
, |: L5 A" Q4 k
pygame.mixer.unpause:恢复暂停播放所有声道
/ |$ Y5 s% q' x, E& ?* {% x9 h6 p
pygame.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" X
pygame.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" G
pygame.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 q
radius:半径
% E7 Z6 ~" \5 ~. C. q
pygame.draw.ellipse:绘制椭圆
) k {# n, n0 w( w6 |" I3 Z
pygame.draw.ellipse(Surface, color, Rect, width=0)
- z5 I3 n# }: Y; p( ~) C) K3 d# @8 k0 c
Rect:椭圆外切矩形
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+ o
pygame.draw.line:绘制线段
( {2 }5 h: q/ \2 \( {4 }8 R
pygame.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 T
pointlist:一系列点
2 @8 z' x3 D/ Q2 h2 {& r
closed:若为 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- w
pygame.font.get_init:判断是否初始化
4 v A; C% D2 [0 M
pygame.font.get_font:获取所有可使用的字体
8 j3 k* d$ X; \" V E3 i
pygame.font.match_font:在系统中搜索字体
, p( P, ]* T4 d
pygame.font.SysFont:从系统字体库冲创建一个对象
/ t$ `# S3 m; F l6 W
pygame.font.Font:从字体文件中创建一个对象
& A$ h+ u \. F8 O+ T- e4 x0 B
pygame.font.Font.render:在新的 Surface 对象上绘制文本
5 ]2 B# o3 Q' k# c/ q, Z
pygame.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: C
pygame.font.Font.set_italic:是否设置为斜体
' \) B. F5 b' C! @" G
14. 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 \" M
pygame.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$ f
start:控制从哪里开始播放,单位为秒
( z! t* {$ d" g1 N, U
pygame.mixer.music.rewind:重新开始播放
: L! r' Y$ M4 l2 H! h. F# p% Z
pygame.mixer.music.stop:结束播放
, w9 T$ h- |" p* S
pygame.mixer.music.pause:暂停播放
! b* J) L3 C% h7 V
pygame.mixer.music.unpause:继续播放
0 s3 V- \; s. G# M& {6 P
pygame.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.mouse
4 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 {& U
pygame.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 ^& X
pygame.BufferProxy.parent:返回该 BufferProxy 的 Surface 对象, 或者调用 BufferProxy 的对象
% } |7 v, J2 K T
pygame.BufferProxy.length:返回缓冲区的长度,单位是字节。类似于len字段
8 ` T9 @) F; |. W4 N% P6 `. |# D. f- m
pygame.BufferProxy.length:将缓冲区的数据拷贝并返回,为str或bytes对象
/ s: g1 O6 _6 J* a1 W- J. d9 Z3 y
pygame.BufferProxy.write:将字节写入缓冲区
# _" t# O/ c$ f0 G
17. pygame.cdrom
6 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 a
pygame.cdrom.quit:退出模块
: F& P& V- E8 }3 H3 q: i- g
pygame.cdrom.get_init:判断是否初始化成功,成功返回 true
7 G: ~7 C" K. {) Y9 z* [
pygame.cdrom.get_count:返回 cd 驱动器的个数
1 t* F1 I' k) K- I4 r/ a
pygame.cdrom.CD:管理驱动的类
6 J! f, I5 p- z
pygame.cdrom.CD.init:初始化
8 G" S9 i2 B8 Z# g$ G
pygame.cdrom.CD.quit:退出
. M: f$ {/ a+ q, M7 C
pygame.cdrom.CD.get_init:判断是否完成初始化
& i" Q Z! X: w4 B$ m
pygame.cdrom.CD.play:开始播放
& D9 ?' S' Y% W N
pygame.cdrom.CD.stop:停止播放
E& t2 M7 w; ` L' s
pygame.cdrom.CD.pause:暂停播放
) m; d+ ~( j2 A H
pygame.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 I
5 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- i
pygame.PixelArray.extract:从 PixelArray 中提取传递颜色
V) F4 D8 F. u) L8 w7 e
19. 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' o
pygame.cursors.compile:又纯字符串创建二进制光标数据
4 {8 H8 d* q: e* H0 I
pygame.cursors.load_xbm:由xbm文件载入光标数据
3 t6 S" b3 y, K: Z8 L
20. 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( _* C
pygame.scrap.init:初始化
# X: ~: @3 k6 @$ h) V c
pygame.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, ^, S
21. 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 _( S
pygame.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 A
22. 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& U
pygame.transform.flip:垂直和水平翻转
. E: w3 |+ N6 x, G
pygame.transform.scale:调整大小到新的分辨率
: L5 I a4 U( V! h+ R
pygame.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+ S
25. 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 e
27. 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# u
1 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 L
8 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