《Python和Pygame游戏开发指南》——2.22 播放声音

本节书摘来自异步社区《Python和Pygame游戏开发指南》一书中的第2章,第2.22节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.22 播放声音

播放存储在声音文件中的声音,甚至比显示图像文件中的图像还要简单。首先,必须通过调用pygame.mixer.Sound()构造函数,来创建一个pygame.mixer.Sound对象(后面我们将其简称为Sound对象)。它接受一个字符串参数,这是声音文件的文件名。Pygame可以加载WAV、MP3或OGG文件。http://invpy.com/formats 介绍了这些声音文件格式的区别。

要播放声音,调用Sound对象的play()方法。如果想要立即停止Sound对象播放,调用stop()方法。stop()方法没有参数。如下是一些示例代码。


screenshot

可以从http://invpy.com/beeps.wav 下载beeps.wav 文件。

在调用play()之后,程序会立即继续执行;在移动到下一行代码之前,它不会等待声音播放完成。

当玩家受到伤害、挥动一次剑,或收到一个硬币的时候,用Sound对象播放声音效果,这对游戏来说是很不错的。但是,如果不管游戏中发生了什么,都有一个背景音乐在播放,你的游戏可能会更好。Pygame一次只能加载一个作为背景音乐播放的声音文件。要加载一个背景声音文件,调用pygame.mixer.music.load()函数并且将要加载的声音文件作为一个字符串参数传递。这个文件可以是WAV、MP3或MIDI格式。

要开始把加载的声音文件作为背景音乐播放,调用pygame.mixer.music.play(−1, 0.0)函数。当到达了声音文件的末尾的时候,−1参数会使得背景音乐永远循环。如果将其设置为一个整数0或者更大,那么,音乐只能循环指定的那么多次数,而不是永远循环。0.0意味着从头开始播放声音文件。如果这是一个较大的整数值或浮点值,音乐会开始播放直到声音文件中指定的那么多秒。例如,如果传入13.5作为第二个参数,声音文件会从开始处播放到第13.5秒的地方。

要立即停止背景音乐,调用pygame.mixer.music.stop()函数。该函数没有参数。

如下是声音方法和函数的一些示例代码。


screenshot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一种简单易学的编程语言,常用于开发各种应用和游戏Pygame是一个基于Python游戏开发库,提供了丰富的工具和函数,方便开发人员快速地创建2D游戏。以下是一些关于PythonPygame游戏开发指南的要点: 首先,了解Python编程语言的基础知识是必要的。学习Python的核心语法、数据类型、条件语句、循环结构等,这些都是编写游戏时必备的基础。 其次,学习Pygame库的基本概念和用法。Pygame提供了许多功能强大的模块和类,如图形、声音、碰撞检测、事件处理等。熟悉Pygame的API文档,并通过实践来掌握如何利用这些功能来创建游戏。 另外,了解游戏开发的基本流程也是重要的。从规划游戏的设计和功能,到编写游戏逻辑和实现交互,再到测试和调试,这些步骤都需要有一个清晰的计划和组织。 在具体的开发中,可以使用一些常见的游戏开发技术,如游戏循环、场景切换、角色控制、碰撞检测等。这些技术可以提高游戏的表现力和体验,并增加游戏的乐趣和挑战。 最后,持续学习和实践是提高游戏开发能力的关键。阅读相关的书籍、教程和文章,参与开发社区的讨论和项目,与其他游戏开发者交流经验和技巧,都可以帮助提升自己的游戏开发能力。 总之,PythonPygame的组合为游戏开发者提供了一个强大而简洁的工具。通过学习基础知识、掌握Pygame库和常用技术,以及不断练习和实践,您可以成为一名优秀的PythonPygame游戏开发者。 ### 回答2: Python是一种开源的高级编程语言,它以简洁易读的语法而闻名,并且具有广泛的应用领域。其中,Pygame是基于Python语言的一个强大的游戏开发库。 Pygame提供了一系列用于游戏开发的工具和函数,能够方便地创建各种类型的游戏,从简单的迷宫游戏到复杂的角色扮演游戏。通过使用Pygame开发者可以轻松处理游戏中的精灵、图像、声音、键盘和鼠标事件等。 首先,要开始Pygame游戏开发,需要在计算机上安装PythonPygame库。安装完成后,可以使用Python编写游戏代码,并借助Pygame库提供的功能来渲染游戏场景、控制游戏物体的运动和交互、播放声音以及处理用户输入等。开发者可以根据自己的需求,使用Pygame提供的功能进行自定义,以创建独特的游戏体验。 在开始开发游戏之前,对Pygame库的函数和用法有一定的了解是很重要的。网上有很多Pygame的教程和指南,可以帮助开发者入门,学习基本的Pygame编程技巧。对于更高级的功能和特效,可以查阅Pygame官方文档或参考其他开发者的经验。 了解游戏开发的基本原理也是必要的。游戏开发涉及到物体的渲染、碰撞检测、游戏逻辑的处理等。通过学习这些概念和原理,可以更好地利用Pygame库的功能来设计和实现游戏。 总之,Pygame是一个强大且易于使用的游戏开发库,可以帮助开发者快速构建Python游戏。通过学习Pygame的基本用法和游戏开发的概念,开发者可以创造出丰富多样的游戏作品,并享受到游戏开发的乐趣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值