通过为您的游戏添加声音,聆听当您的英雄战斗、跳跃、收集战利品时会发生什么。在本Pygame系列的第十三篇文章中了解如何创建声音平台类精灵。这是使用Pygame模块在Python3中创建计算机游戏的系列文章的第十三部分。之前的文章是:通过构建简单的骰子游戏了解如何在Python中编程使用Python和Pygame模块构建游戏框架如何添加Python游戏中的玩家使用Pygame让你的游戏角色移动如何向你移动将敌人添加到你的Python游戏中在Pygame游戏中放置平台在你的Python游戏中模拟重力在你的Python平台游戏中添加跳跃功能使你的Python游戏玩家能够在您的Python平台游戏中向前和向后运行在游戏中放置一些奖励向您的Python游戏添加计分向您的Python游戏添加投掷机制Pygame提供了一种将声音集成到您的Python计算机游戏中的简单方法。Pygame的混音器模块可以根据命令播放一种或多种声音,您也可以将这些声音混合在一起,例如,您可以播放背景音乐,同时听到您的英雄收集奖励或跳过敌人。将混音器模块集成到现有游戏中很容易,因此本文没有提供代码示例来说明将它们放置在何处,而是解释了在您的应用程序步骤中获得声音所需的四个。启动混音器首先,在代码的设置部分,启动混音器进程。你的代码已经启动了Pygame和PygameFonts,所以将它们组合在一起是个好主意:pygame.init()pygame.font.init()pygame.mixer.init()#添加这一行来定义声音接口必须定义您要使用的声音。这就需要你的电脑上有声音文件,就像使用字体需要有字体文件,使用图像需要有图像文件一样。您还必须将声音与您的游戏捆绑在一起,这样任何玩您游戏的人都可以拥有声音文件。要将声音与您的游戏捆绑在一起,首先在您的游戏目录中创建一个新目录,就像您为图像和字体创建的一样。将其命名为sound:s='sound'尽管Internet上有很多声音文件,但下载这些声音文件并随游戏分发它们不一定合法。这么多来自著名电脑游戏的声音成为流行文化的一部分,这似乎很奇怪,但法律就是这样运作的。如果您想随游戏一起分发声音文件,则必须找到允许随游戏提供声音的开放源代码或共同创作许可的声音文件。以下是一些专门提供免费和合法声音文件的网站,包括:Freesound拥有各种音效。Incompetech托管存储背景音乐。OpenGameArt包含一些音效和音乐。有些声音文件可以免费使用,只要您向作曲家或声音设计师致谢即可。在与您的游戏捆绑之前,请仔细阅读使用条件!音乐家和声音设计师在声音方面的工作与您在代码方面的工作一样努力,因此即使他们不要求,也应该给予他们荣誉。为了给您的声源文件一些功劳,请在名为CREDIT的文本文件中列出您使用的声音,并将该文本文件放在您的游戏文件夹中。您也可以尝试制作自己的音乐。一个好的LMMS音频工作站易于使用,并带有许多有趣的声音。它适用于所有主要平台,还可以导出为OggVorbis(OGG)音频格式。向Pygame添加声音当您找到喜欢的声音文件时,请下载它。如果它是ZIP或TAR文件,请将其解压缩并将其移动到游戏目录中的sound文件夹中。如果声音文件名包含空格或特殊字符,请重命名。文件名完全是任意的,它越简单,您输入代码就越容易。大多数电脑游戏使用OGG格式的声音文件,因为这种格式可以在狭小的空间内提供高质量的声音。当您下载声音文件时,它可能是MP3、WAVE、FLAC或其他音频格式。要保持文件的高兼容性并减小下载大小,请使用fre:ac或Miro等工具将这些文件转换为Ogg格式。例如,假设您下载了一个名为ouch.ogg的声音文件。在代码的设置部分,创建一个代表您要使用的声音文件的变量:ouch=pygame.mixer.Sound(os.path.join(s,'ouch.ogg'))触发声音以使用sound,你所要做的就是在你想触发它的时候调用这个变量。例如,当您的玩家击中敌人时,触发OUCH音效:对于enemy_hit_list中的敌人:pygame.mixer.Sound.play(ouch)score-=1您可以为各种动作创建声音,例如跳跃、收集奖励、投掷、碰撞以及您能想象到的任何其他事物。添加背景音乐如果你想在游戏的背景中播放音乐或令人兴奋的音效,你可以使用Pygame的混音器模块中的音乐功能。在您的设置部分,加载音乐文件:music=pygame.mixer.music.load(os.path.join(s,'music.ogg'))然后,启动音乐:pygame.mixer.music.play(-1)-1的值告诉Pygame无限循环播放音乐文件。您可以将其设置为从0到更高值的任何数字,以定义音乐在停止前循环的次数。享受音效音乐和声音可以为您的游戏增添很多风味。尝试向您的Pygame项目添加一些声音!
