python小欢喜(八)俄罗斯方块 (12) 添加游戏音效

本文详细介绍如何在Python编写的俄罗斯方块游戏中加入音效,包括背景音乐、方块落下和消除行的音效,使用pygame库实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为游戏添加音效,可以增加更多的趣味性

前面的文章《python小欢喜(八)俄罗斯方块 (11) 判断游戏是否结束》实现了俄罗斯方块游戏的基本功能。

接下来给游戏添加上音效。

先准备好音效素材:
在这里插入图片描述
其中
background.mp3 是背景音乐
down.wav 是方块落下来碰到其它方块的声音
remove.wav是一行方块被消去的声音
gameover.wav是游戏结束的声音

需要注意的是:

1 对于背景音乐,这一类播放时间比较长的声音资源
使用 pygame.mixer.music 进行处理

2 对于时间比较短的音效资源
使用 pygame.mixer.Sound 进行处理。并且 pygame.mixer.Sound 一般用于加载wav文件,不能加载mp3文件。

使用声音功能前需要先做初始化

pygame.mixer.pre_init(44100, -16, 2, 512)
pygame.mixer.init()  # 初始化混音器

下面用这个游戏中的例子分别说一下 music与sound的用法。

1 播放背景音乐

#加载音乐文件
mp3_backGround = pygame.mixer.music.load("audio/background.mp3") 
#设置背景音乐的音量
pygame.mixer.music.set_volume(Config.bgMusicVolume)
#播放背景音乐,参数-1表示循环播放
pygame.mixer.music.play(-1)

2 播放音效

#加载wave文件
wave_down =   pygame.mixer.Sound("audio/down.wav")
#播放音效
wave_down.play()      

以上只是例子,在实际播放时要在合适的时机调用play方法。

完整的python代码如下

config.py

# config.py
# 配置数据,全局变量的定义

#颜色常量的定义
BLACK = (0,0,0)       # 用RGB值定义黑色
WHITE = (255,255,255) # 用RGB值定义白色

#配置参数类
class Config():
    def __init__(self):
        pass
    screenWidth = 640
    screenHeight= 800
    blockWidth = 40
    blockColor = 'blue'
    downSpeed = 2
    bgMusicVolume = 0.2

#方块组合形状的二维矩阵图示,1表示该处有方块,0表示没有
shapeGraph=[
(
[1,1,1,1],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
),
(
[0,1,0,0],
[1,1,1,0],
[0,0,0,0],
[0,0,0,0],
),
(
[1,0,0,0],
[1,0,0,0],
[1,0,0,0],
[1,0,0,0],
),
(
[1,1,1,0],
[1,0,0,0],
[0,0,0,0],
[0,0,0,0],
),
(
[1,0,0,0],
[1,0,0,0],
[1,1,0,0],
[0,0,0,0],
),
(
[1,1,0,0],
[1,0,0,0],
[1,0,0,0],
[0,0,0,0],
),
(
[1,0,0,0],
[1,1,0,0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值