首页 / 知识
python如何添加声音到python游戏
2023-11-12 13:12:00
Pygame提供了一种简单的方法来集成声音到你的Python电脑游戏中。Pygame的mixer模块可以依据命令播放一个或多个声音,并且你也可以将这些声音混合在一起,例如,你能够在听到你的英雄收集奖励或跳过敌人声音的同时播放背景音乐。
集成mixer模块到一个已存在的游戏中是很容易的,因此,与其给你代码示例来向你展示放置它们的位置,不如在这篇文章解释在你的应用程序中获得声音所需的四个步骤。
启动mixer
首先,在你代码的设置部分,启动mixer进程。你的代码已经启动Pygame和Pygame字体,因此将它们归类到一起是一个很好的主意:
定义声音
接下来,你必需定义你想要使用的声音。这样就要求你的计算机上有声音文件,就像使用字体就要求你有字体文件,使用图像就要求你有图像文件一样。
你还必需把这些声音与你的游戏捆绑在一起,以便任何玩你游戏的人都有这些声音文件。
为将一个声音与你的游戏捆绑在一起,首先在你的游戏目录中创建一个新的目录,就像你为你图像和字体创建的目录一样。称它为sound:
尽管在互联网上有很多声音文件,下载这些声音文件并将其与你的游戏一起分发并不一定是合法的。这看起来是很奇怪的,因为这么多来自著名电脑游戏的声音是流行文化的一部分,但法律就是这样运作的。如果你想与你的游戏一起分发一个声音文件,你必需找到一个开源或共创许可的声音文件,它们准许与游戏一起提供声音。
这里有一些专门提供自由和合法的声音文件的网站,包括:
·Freesound托管存储所有种类的音效。
·Incompetech托管存储背景音乐。
·OpenGameArt托管存储一些音效和音乐。
一些声音文件只要你给予作曲家或声音设计师一个致谢就可以自由使用。在与你的游戏捆绑前,仔细阅读使用条件!音乐家和声音设计师在声音上的工作就像你在代码上的工作一样努力,因此即使他们不要求,给予他们致谢也是极好的。
给予你的声音源文件一些致谢,在一个名为CREDIT的文本文件中列出你使用的声音,并在你的游戏文件夹中放置该文本文件。
你也可以尝试制作你自己的音乐。优秀的LMMS音频工作站易于使用,并带有很多有趣的声音。它在所有主要的平台上都可以使用,也可以导出为OggVorbis(OGG)音频格式。
添加声音到Pygame
当你找到你喜欢的一个声音文件时,下载它。如果它是一个ZIP或TAR文件,提取它并将其移动到你游戏目录中的sound文件夹中。
如果声音文件的名字带有空格或特殊字符,重新命名它。文件名称是完全随意的,它的名称越简单,你就越容易输入到你的代码中。
大多数的电脑游戏使用OGG格式声音文件,因为这种格式可以占有较小空间而提供高质量的声音。当你下载一个声音文件时,它可能是一个MP3、WAVE、FLAC或者其它的音频格式。为保持你的文件的较高兼容性和降低下载文件大小,使用一个像fre:ac或Miro这样的工具来转换这些的文件格式为Ogg格式。
例如,假设你已经下载一个称为ouch.ogg的声音文件。
在你代码的设置部分中,创建一个变量,代表你想使用的声音文件:
触发一个声音
为使用一个声音,你所要做的就是在你想触发它的时候调用这个变量。例如,当你的玩家击中一名敌人时,触发OUCH声音效果:
你可以为各种动作创建声音,例如,跳跃、收集奖励、投掷、碰撞,以及其他任何你能想象到的动作。
添加背景音乐
如果你有想在你的游戏的背景中播放的音乐或令人激动的音效,你可以使用Pygame中的mixer模块中的music函数。在你的设置部分中,加载音乐文件:
然后,开始音乐:
-1值告诉Pygame无限循环音乐文件。你可以将其设置为从0到更高的值之间的任意数值,以定义音乐在停止前循环多少次。
享受音效
音乐和声音可以为你的游戏添加很多韵味。尝试添加一些声音到你的Pygame工程!
以上内容为大家介绍了如何添加声音到python游戏,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
python 培训之 object是什么类型
python 培训之 object是什么类型,培训,类型,实例,顶端,对象,关系,链条,父子,数据类型,属性,在Python的世界中,object是父子关系的顶端,所有的数python学习python编程可以从事什么
python学习python编程可以从事什么工作岗位,工作,分析,网络,数据,数字,行政,销售,培训,资产,庞大,一、学Python编程能做的工作,编程方向:1、Webpython编程平台免费吗
python编程平台免费吗,代码,培训,平台,设计,初级,语言,解释性,提示符,标点符号,可读性,python是免费的,也就是开源的。注:python是一个高层次的python代码如何在命令行运行
python代码如何在命令行运行,代码,培训,路径,空格,文件,下面,以上,目录,更多,内容,我们在编写python代码时,可以在交互模式下运行代码,也可以用python怎么写多行代码
python怎么写多行代码,代码,培训,情况,示例,字符串,斜杠,方法,行书,括号,有用,在写代码过程中,经常遇到一行代码很长的情况。为了让代码显得整pythonpython跨平台吗?
pythonpython跨平台吗?,平台,培训,代码,手机,项目,设计,语言,版本,终端,构架,python是跨平台的,免费开源的一门计算机编程语言。是一种面向对python怎么给代码注释
python怎么给代码注释,代码,培训,注释,时间,项目,负担,冗余,重要性,开头,含义,注释的重要性如果我们是做独立项目,或者是唯一一位来查看自己编python跨平台的语言
python跨平台的语言,平台,代码,系统,培训,手机,庞大,密码,数据,软件,工作,python是跨平台的,免费开源的一门计算机编程语言。是一种面向对象的pythonPython代码的书写规范
pythonPython代码的书写规范,代码,培训,数字,设计,标准,异常,二元,行长,下降,一致,python代码的书写规范1.一致性的建议打破一条既定规则的两python如何理解Python中整型对象存
python如何理解Python中整型对象存储的位置?,位置,地址,代码,培训,内存,开辟,对象,整数,分配,存在,在Python整型对象所存储的位置是不同的,有pythonfinal作用域的代码一定会被
pythonfinal作用域的代码一定会被执行吗?,代码,培训,异常,流程,作用,函数,上面,以上,需求,发生,python在正常的情况下,finally作用域的代码一python99乘法表代码
python99乘法表代码,代码,基础,培训,空格,字符串,结果,初学者,实例,后面,以上,python99乘法表代码1、说明字符串之间才能相加,所以输出结果的