pygame模块参数汇总(python游戏编程)

pygame模块参数汇总(python游戏编程)
⼀、HelloWorld
1 pygame.init()    #初始函数,使⽤pygame的第⼀步;
2 pygame.display.set_mod((600,500),0,32)    #⽣成主屏幕screen;第⼀个参数是屏幕⼤⼩,第⼆个0表⽰不使⽤特性,可⽤FULLSCREEN,RESIZEBLE,NOFRAME,DOUBLEBUF(双缓冲,使⽤时需⽤pygame.display.flip()来刷新屏幕)等替换,32
3 pygame.display.set_caption("string")    #命名
4 pygame.display.update()        #刷新
5 pygame.display.list_modes()        #查看本地显⽰器⽀持的分辨率;
6 screen.fill(0,0,0)        #填充
⼆、绘图
(surface,color,Rect,width=0) 画⼀个矩形,Rect为两个坐标元组的元组;
(⼀)rect(矩形)参数属性
1 r.left        左边x坐标的整数值
2 r.right        右边x坐标的整数值
p         顶部y坐标的整数值
4 r.bottom     底部y坐标的整数值
x      中央x坐标整数值
y      中央y坐标整数值
7 r.width        宽度
8 r.height      ⾼度
9 r.size        即元组(width,height)
pleft      (left,top)
pright    (right,top)
12 r.bottomleft  (left,bottom)
13 r.bottomright  (right,bottom)
14 r.midleft      (left,centery)
15 r.midright    (right,centery)
16 r.midtop      (centerx,top)
17 r.midbottom    (centerx,bottom)
(⼆)其他形状
1 pygame.draw.polygon(surface,color,pointlist,width=0)   多边形
2 pygame.draw.circle(surface,color,pos,radius,width=0)      圆
3 pygame.draw.ellipse(surface,color,Rect,width=0)      椭圆
4 pygame.draw.arc(surface,color,Rect,start_angle,stop_angle,width=1) 圆弧
5 pygame.draw.line(surface,color,start_pos,end_pos,width=1)    直线;
6 pygame.draw.lines(surface,color,closed,pointlist,width=1)    closed为⼀bool值,表⽰是否封闭;
7 pygame.draw.aaline(surface,color,start_pos,end_pos,width=1)    ⼀根平滑的线;
8 pygame.draw.aalines(surface,color,closed,pointlist,width=1)    ⼀系列平滑的线;
(三)font(以图形模式输出⽂本)
1.pygame.font.Font("字体","字号",*)
5b5b5b5b<_der(text,True,(255,255,255))        使⽤已有的⽂本创建⼀个位图image,返回值为⼀个image;对于位图可⽤get_height(),get_width()的⽅法获得⾼与宽;True表⽰是
否抗锯齿,第三个为字体颜⾊,还可以有第四个为背景⾊,没有时就为默认的透明;
3.Font()  使⽤的是字体⽂件,要使⽤系统中的字体需⽤SysFont(),但⼀些中⽂扩展的字体不是很好⽤。
4.screen.blit(image,(100,100))            将位图绘制到屏幕上,screen为建⽴的主屏;
5._fonts()          查看当前系统所有可使⽤的字体
三、图⽚处理
pygame⽀持的图⽚格式有:JPEG,PNG,GIF,BMP,PCX,TGA,TIF,LBM,PBM,XPM
1 pygame.image.load("图⽚路径").conver()        将图⽚处理为surface对象,如果使⽤conver_alpha()则保留了Alpha通道信息(可透明),使⽤时⽤blit()函数来添加到显⽰屏
2 pygame.Surface((250,250),flags,depth)        创建⼀个surface对象,如果不指定尺⼨则会创建和屏幕⼀样⼤⼩;flags为可选,有SRCALPHA(保留Alpha通道)、HWSURFACE(优化)两个选择,depth为⾊深;
3 screen.subsurface((0,0),(80,80))          ⼦表⾯对象;
4 screen.set_at(pos,color)                  设置⼀个像素的⾊彩;
_at(pos)                        获取某⼀像素的⾊彩,不过此操作的反应⽐较慢;
ansform.scale(surface,(width//2,height//2)    缩放图⽚
ansform.smoothscale(surface,(width,height)    缩放图⽚,⽐scale慢,但效果更好;
8 pygame.sprite.Group()          精灵组,⼀个简单的实体容器;
9 pygame.sprite.add(sprite)        添加精灵对象;
10 pygame.sprite.update(ticks)
低频振荡
11 pygame.sprite.draw(screen)
12 llide_rect(arrow,dragon)    冲突
13 screen.set_clip(0,400,200,600)    设定裁剪区域;单相计数器
_clip()             获得裁剪区域
四、事件event
1 ()    获取事件的返回值,使⽤pe == 进⾏区分
2 pygame.event.wait()    等待发⽣⼀个事件才会继续下去;
3 pygame.event.poll()    会根据现在的情形返回⼀个真实的事件
4 pygame.event.set_blocked(事件名)    过滤
5 pygame.event.set_allowed() 允许事件
⾃定义事件
1 my_event = pygame.event.Event(KEYDOWN,key=K_SPACE,mod=0,unicode=u'')
2 pygame.event.post(my_event)
pygame所有事件type
1 QUIT            退出;
2 ACTIVEEVENT     pygame被激活或隐藏;
3 KEYDOWN        区分不同键 event.key == pygame.K_a,pygame使⽤keys=_presse
d()来轮询键盘接⼝,返回的是所有按下键值的元组;⽤keys[K_b]⽅式来核对键值;K_b也可以是键值Unicode码;如果mod & KMOD_CTRL为真
卷对卷丝网印刷机4 KEYUP            按键放开
5 MOUSEMOTION     含event.l,event.buttons属性,⽤mouse_x,mouse_y = event.pos进⾏确认,_pos()返回⿏标的当前位置,_rel()获取⿏标相对移动,_pressed()返回按钮状态
6 mouse.set_visible(False) 使⿏标不可见;
7 event.set_grab(True)    使⿏标不会跑出窗⼝
8 mouse.set_pos()          设置⿏标位置
_focused()      如果⿏标在pygame窗⼝内有效,返回True
10 mouse.set_cursor()      设置⿏标默认光标式样;
_cursor()      获取⿏标默认光标式样;
12 MOUSEBUTTONUP      ⿏标放开
13 MOUSEBUTTONDOWN    ⿏标按下
14 JOYAXISMOTION      x⼿柄移动
15 JOYBALLMOTION      所有⼿机移动
16 JOYHATMOTION      hat⼿柄移动
17 JOYBUTTONUP        ⼿柄按键放开
18 JOYBUTTONDOWN      ⼿柄按键按下
19 VIDEORESIZE        窗⼝缩放;
20 VIDEOEXPOSE        窗⼝部分公开;
21 USEREVENT          触发了⼀个⽤户事件;
五、异常捕捉
1try:
2    screen = pygame.display.set_mode(SCREEN_SIZE)
,e:
4print("Can't create the display :-(")
5print(e)
6    exit()
六、时间
1 clock = pygame.time.Clock()    初始化⼀个clock对象
2 clock.tick()    返回⼀个上次调⽤的时间,以毫秒为单位
3 clock.tick(30)    控制游戏绘制的最⼤帧率为30
七、声⾳
(⼀)sound对象
pygame.mixer.Sound("⽂件")  读取声⾳对象sound,格式只有wav和ogg两种;
对象⽅法:
1 fadeout()              淡出时间,可⽤参数为毫秒;
2 get_lengh()            获得声⾳⽂件长度,以秒为单位;
3 get_num_channels()        声⾳要播放的次数;
4 play(loop,maxtime)        对读取的声⾳对象可执⾏播放操作,loop为-1表⽰⽆限循环,1表⽰重复两次,maxtime表⽰多少毫秒后结束;返回⼀个Channel对象,失败则返回None;
5 set_volum()            设置⾳量;
6 stop()                停⽌播放;
7 pygame.mixer.music          背景⾳乐处理⽅法
8 pygame.mixer.music.load()    加载⽂件可为mp3和ogg格式;
9 pygame.mixer.music.play()    播放
10 pygame.mixer.music.stop()    停⽌,还有pause()和unpause()⽅法
(⼆)Channels对象
_num_channels()    获取当前系统可同时播放的声道数;pygame中默认为8;
对象⽅法:
1 fadeout()      设置淡出时间
2 get_busy()      如果正在播放,返回True;
3 set_endevent()    设置播放完毕时要做的event;
4 get_endevent()    获取播放完毕时要做的event,如果没有则返回None;
5 get_queue()      获得队列中的声⾳,如果没有则返回None;
6 set_volume()     设置⾳量;
7 get_volume()      获得⾳量;
8 pause()          暂停播放;
9 unpause()      继续播放;
10 play()          播放;
11 stop()          停⽌播放;
12 queue()          将⼀个Sound对象加⼊队列,在当前声⾳播放完毕后播放;光盘封套
13 set_num_channels() ⾃定义声道数;
(三)music对象
pygame.mixer.pre_init(frequency,size,stereo,buffer) 声⾳系统初始化,第⼀个为采样率,第⼆个为量化精度,第三为⽴体声效果,第四为缓冲;
对象⽅法:
1 fadeout()      设置淡出时间
2 set_endevent()    设置播放完毕后事件
3 get_endevent()    获取播放完毕后进⾏的事件;
4 set_volume()      设置⾳量;
5 get_volume()      获取⾳量;
背景音乐播放系统
6 load()          加载⾳乐⽂件;
7 rewind()      从头开始播放;
8 get_pos()        获得当前播放的位置,以毫秒为单位;

本文发布于:2024-09-25 10:39:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/158392.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:播放   对象   返回
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议