Pygame 声音对象
使用音乐和声音可以使任何电脑游戏更加吸引人。Pygame库通过pygame.mixer模块支持这一功能。这个模块包含了用于加载声音对象和控制播放的Sound类。所有的声音播放都在后台线程中混合。为了减少声音的滞后性,请使用一个较小的缓冲区大小。
要从一个声音文件或文件对象中获得声音对象,请使用下面的构造函数:
声音类定义了以下控制播放的方法
play(loops=0, maxtime=0, fade_ms=0) | 开始在一个可用的通道上播放声音(即在计算机的扬声器上)。Loops参数用于重复播放。 |
---|---|
stop() | 这将停止这个声音在任何活动通道上的播放。 |
fadeout(time) | 这将在淡出时间参数(以毫秒为单位)后停止声音的播放。 |
set_volume(value) | 这将设置这个声音的播放音量,如果这个声音正在播放,将立即影响到这个声音的播放。 |
get_length() | 返回这个声音的长度,单位是秒。 |
在下面的例子中,一个文本按钮被呈现在显示窗口的底部。一个空格键可以向上发射一个箭头,并伴随着声音的播放。
在游戏事件循环中,对于检测到的空格键,一个箭头对象被放置在SHOOT按钮上方,并以递减的Y坐标反复呈现。同时,射击的声音也被播放。
例子
以下列表演示了Sound对象的使用。