简单学习自小甲鱼视频教学(笔记)
实现功能:
运行后自动播放背景音乐,单击左键播放音效①,单击右键播放音效②,
空格键控制暂停背景音乐与恢复背景音乐,并且实现播放图标的切换。
代码如下:
1 import pygame 2 import sys 3 from pygame.locals import * 4 5 pygame.init() 6 pygame.mixer.init() # 初始化混音器模块 7 # 音效可以同时播放多个,而music只能同时播放一个 8 pygame.mixer.music.load('BG.ogg') # 背景音乐通常用.ogg格式 9 pygame.mixer.music.set_volume(0.2) # 设置音量 10 pygame.mixer.music.play() # 播放音乐 11 12 sound1 = pygame.mixer.Sound('M1.wav') # 音效通常用.wav格式 13 sound1.set_volume(0.2) 14 sound2 = pygame.mixer.Sound('M2.wav') 15 sound2.set_volume(0.2) 16 17 bg_size = width, height = 300, 200 18 screen = pygame.display.set_mode(bg_size) 19 pygame.display.set_caption('Music') 20 21 pause = False 22 23 pause_img = pygame.image.load('pause.png').convert_alpha() 24 unpause_img = pygame.image.load('unpause.png').convert_alpha() 25 pause_rect = pause_img.get_rect() 26 pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2 27 28 clock = pygame.time.Clock() 29 30 while True: 31 for event in pygame.event.get(): 32 if event.type == QUIT: 33 sys.exit() 34 35 if event.type == MOUSEBUTTONDOWN: 36 if event.button == 1: # 左键 37 sound1.play() 38 if event.button == 3: # 右键 39 sound2.play() 40 41 if event.type == KEYDOWN: 42 if event.key == K_SPACE: # 空格 43 pause = not pause 44 45 screen.fill((255, 255, 255)) # 填充背景 46 47 if pause: 48 screen.blit(pause_img, pause_rect) 49 pygame.mixer.music.pause() # 暂停播放 50 else: 51 screen.blit(unpause_img, pause_rect) 52 pygame.mixer.music.unpause() # 恢复播放 53 54 pygame.display.flip() 55 56 clock.tick(30) # 帧率为30
我的素材下载:https://files.cnblogs.com/files/GraceSkyer/20180202.zip
备注:我这png图片之前被我调小失真了,但是不影响该演示,就不改图了...