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