赞
踩
对显示的控制。具有单独的Surface,可以包含在窗口中,也可以全屏。更改不会立即显示,必须选择两个翻转函数之一来更新实际显示。
显示原点在窗口左上方(x=0,y=0),向右下方增加。
设置display模式后,将在pygame事件队列中放置几个事件。当用户请求关闭程序时发送pygame.QUIT。
1.pygame.display.init()
初始化display模块
init() -> None
如果不初始化将无法使用,一般在调用更高级的pygame.init()之后会自动进行。多次调用无害,重复调用无效。
2.pygame.display.quit()
取消display模块初始化
quit() -> None
关闭整个display模块。所有的显示都将关闭。当程序关闭时,它也会自动处理。多次调用无害,重复调用无效。
3.pygame.display.set_icon()
改变窗口的小图标。
set_icon(Surface) -> None
示例:
- icon = pygame.image.load("icon.png")
- pygame.display.set_icon(icon) #将小图标改成指定的图像
4.pygame.display.set_caption()
设置窗口标题
set_caption(title, icontitle=None) -> None
示例:
pygame.display.set_caption("我是一只小松鼠")
5.pygame.display.set_mode()
初始化要显示的窗口和屏幕。
set_mode(size=(0, 0), flags=0, depth=0, display=0) -> Surface
size参数代表宽度和高度。flags是其它选项集合。depth颜色位数。
如果未传递尺寸或将其设置为(0,0),则创建的Surface将具有与当前屏幕分辨率相同的尺寸。通常最好不要传递depth参数。
示例:
- # Open a window on the screen
- screen_width=700
- screen_height=400
- screen=pygame.display.set_mode([screen_width,screen_height])
1.pygame.mixer.music.load()
加载音乐
- load(filename) -> None
- load(object) -> None
加载音乐文件名或文件对象,为播放做准备。如果音乐正在播放它将被停止。这条语句不能播放音乐。
2.pygame.mixer.unload()
释放当前加载的音乐
unload()
3.pygame.mixer.music.play()
播放音乐
play(loops=0, start=0.0) -> None
loops:循环次数。如果是5,则播放6次;如果是-1,无限循环
start:开始播放位置。mp3、ogg将位置表示时间(单位是秒)。如果无法设置起始位置,则传递startpos会引发NotImplementedError(无法执行错误)。
4.pygame.mixer.music.set_volume()
设置音量
set_volume(value) -> None
value的范围(0.0,1.0)。新音乐载入,音量重置。
1.pygame.mixer.Sound
从一个文件或缓冲区对象创建一个新的声音对象
- Sound(filename) -> Sound
- Sound(file=filename) -> Sound
- Sound(buffer) -> Sound
- Sound(buffer=buffer) -> Sound
- Sound(object) -> Sound
- Sound(file=object) -> Sound
- Sound(array=object) -> Sound
方法:
(1)play()
开始声音播放
play(loops=0, maxtime=0, fade_ms=0) -> Channel
必须选择一个音频通道。
loops参数控制声音在被第一次播放之后重复播放的次数。如果参数值为5,声音将播放一次,重复播放五次。如果是-1,则无限循环播放(可以用stop()来停止)
maxtime参数表示在给定的毫秒数之后停止播放。
fade_ms声音音量从0开始淡入。可以在淡入完成之前结束。
这个方法返回所选频道的Channel对象。
(2)stop()
停止声音播放
stop() -> None
这将停止声音在任何工作通道上的播放。
(3)set_volume()
设置声音音量
set_volume(value) -> None
会对正在播放的声音立即产生影响,也将影响在未来时刻播放的声音。
参数:value(float)--范围是[0.0,1.0]。如果小于0,音量不会改变;如果大于1,音量将被设置为1。
pygame.mask.from_surface
用给定的surface创建一个mask
- from_surface(Surface) -> Mask
- from_surface(Surface, threshold=127) -> Mask
通过设置所有不透明像素而不设置透明像素,从给定surface创建mask对象。
返回:一个用给定的surface新创建的mask对象
返回类型:Mask
注意:这个函数用来为pygame.sprite.collide_mask()创建masks。
1.pygame.sprite.Sprite()
可见游戏对象的简单基类
Sprite(*groups) -> Sprite
2.pygame.sprite.Group()
一个容器类,保存和管理多种精灵对象。
Group(*sprites) -> Group
方法:
(1)add()
向组里添加精灵
add(*sprites) -> None
将任意数量的精灵添加到该组。只能添加还未在组里的精灵。每个精灵参数也可以是包含精灵的迭代器。
(2)remove()
从组中删除精灵
remove(*sprites) -> None
从组中删除任意数量的精灵,只能删除已经在组里的精灵。
3.pygame.sprite.spritecollide()
在组中查找与另一个精灵碰撞的精灵。
spritecollide(sprite,group,dokill,collided = None)-> Sprite_list
返回一个列表,其中包含一个组中与另一个精灵相交的所有精灵。碰撞点是通过比较每个精灵 的Spritre.rect属性来确定的。
dokill参数是一个布尔值。如果设置为True,则所有碰撞的精灵将从组中删除。
collided参数是一个回调函数,用于计算两个精灵是否发生碰撞。它应该将两个精灵作为值,并返回一个布尔值,表明它们是否发生碰撞。如果未通过碰撞,则所有精灵都必须具有“rect”值,该值是一个精灵区域的矩形,将用于计算碰撞。
collided的可调用项:
- collide_rect, collide_rect_ratio,
- collide_circle, collide_circle_ratio, collide_mask
4.pygame.sprite.collide_mask()
用mask(蒙版)检测两个精灵之间是否发生碰撞
- collide_mask(sprite1, sprite2) -> (int, int)
- collide_mask(sprite1, sprite2) -> None
通过检测两个精灵的bitmasks是否重叠,来检测它们的碰撞。如果精灵有mask属性,则将其用作蒙版,否则从精灵的image来创建mask(使用pygame.mask.from_surface())。精灵必须具有rect属性,mask属性是可选的。
这个函数可作为collided的回调函数传递给组冲突函数(如spridecollode(),groupcollide())
注意:为了提高性能,为所有的精灵创建和设置mask属性,用于此函数的碰撞检测。否则,每次使用此函数都会创建新的masks。
注意:每次更改精灵的图像时都需要重新创建一个新的mask(例如,如果使用了新图像或旋转了现有图像)。
返回值:mask之间的第一个碰撞点,或者如果没有碰撞则是None
返回类型:元组(int,int)或NoneType
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。