简单学习自小甲鱼视频教学(笔记)
实现功能:
运行后自动播放背景音乐,单击左键播放音效①,单击右键播放音效②,
空格键控制暂停背景音乐与恢复背景音乐,并且实现播放图标的切换。
代码如下:
import pygame
import sys
from pygame.locals import * pygame.init()
pygame.mixer.init() # 初始化混音器模块
# 音效可以同时播放多个,而music只能同时播放一个
pygame.mixer.music.load('BG.ogg') # 背景音乐通常用.ogg格式
pygame.mixer.music.set_volume(0.2) # 设置音量
pygame.mixer.music.play() # 播放音乐 sound1 = pygame.mixer.Sound('M1.wav') # 音效通常用.wav格式
sound1.set_volume(0.2)
sound2 = pygame.mixer.Sound('M2.wav')
sound2.set_volume(0.2) bg_size = width, height = 300, 200
screen = pygame.display.set_mode(bg_size)
pygame.display.set_caption('Music') pause = False pause_img = pygame.image.load('pause.png').convert_alpha()
unpause_img = pygame.image.load('unpause.png').convert_alpha()
pause_rect = pause_img.get_rect()
pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2 clock = pygame.time.Clock() while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit() if event.type == MOUSEBUTTONDOWN:
if event.button == 1: # 左键
sound1.play()
if event.button == 3: # 右键
sound2.play() if event.type == KEYDOWN:
if event.key == K_SPACE: # 空格
pause = not pause screen.fill((255, 255, 255)) # 填充背景 if pause:
screen.blit(pause_img, pause_rect)
pygame.mixer.music.pause() # 暂停播放
else:
screen.blit(unpause_img, pause_rect)
pygame.mixer.music.unpause() # 恢复播放 pygame.display.flip() clock.tick(30) # 帧率为30
我的素材下载:https://files.cnblogs.com/files/GraceSkyer/20180202.zip
备注:我这png图片之前被我调小失真了,但是不影响该演示,就不改图了...