python之pygame制作音乐盒(多张图片多首音乐)

相关配置:

Anaconda 4.2.0 (64-bit)
Python 3.5.2

程序:

# -*- coding: utf-8 -*-
'''
pygame制作音乐盒
'''

import sys
# import time
import pygame


def ps_bt20():  # 开启音乐盒
    '''
    此函数可以打开音乐盒,音乐盒是用pygame这个包完成的,具体要注意的是,在表现两个以上的图标和音乐的结合体
    时(不包括两个),这时候可以将所有的要循环播放的内容放到while循环里面,一般需要用到两个标志位,一个用
    来控制while的循环是否结束,一个用来控制播放的顺序。这时候if pygame.mixer.music.get_busy() == False要改成True
    里面直接用continue跳出本次。如果是只播放两个内容的话,可以不需要这样做,一个写在while循环的外面,一个写
    在if pygame.mixer.music.get_busy() == False里面。
    :return:
    '''
    try:
        flag_1 = 1
        flag_2 = 1
        pygame.init()
        pygame.mixer.init()
        print("播放音乐")
        path = r"jj.mp3"
        path1 = r"tu1.jpg"
        path2 = r"ts.mp3"
        path3 = r"tu2.jpg"
        path4 = r'tu.jpg'
        path5 = r'xg.mp3'
        screen = pygame.display.set_mode([921, 576])
        icon = pygame.image.load(path1).convert_alpha()
        pygame.display.set_icon(icon)
        background = pygame.image.load(path1).convert_alpha()
        background1 = pygame.image.load(path3).convert_alpha()
        background2 = pygame.image.load(path4).convert_alpha()
        pygame.display.set_caption('音乐盒')
        pygame.time.delay(1000)
        # print("播放音乐1")
        # screen.blit(background, (0, 0))
        # pygame.display.update()
        # pygame.mixer.music.load(path)
        # pygame.mixer.music.play()
        # pygame.mixer.music.fadeout(15000)
        # pygame.time.delay(15000)
        # print("播放音乐2")
        # screen.blit(background1, (0, 0))
        # pygame.display.update()
        # pygame.mixer.music.load(path2)
        # pygame.mixer.music.play()
        while flag_1 == 1:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    flag_1 = 0

            if pygame.mixer.music.get_busy() == True:
                continue
                # print("播放音乐3")
                # screen.blit(background2, (0, 0))
                # pygame.display.update()
                # pygame.mixer.music.load(path5)
                # pygame.mixer.music.play()

            if flag_2 == 1:
                print("播放音乐1")
                screen.blit(background, (0, 0))
                pygame.display.update()
                pygame.mixer.music.load(path)
                pygame.mixer.music.play()
                pygame.mixer.music.fadeout(15000)
                flag_2 = 2

            elif flag_2 == 2:
                print("播放音乐2")
                screen.blit(background1, (0, 0))
                pygame.display.update()
                pygame.mixer.music.load(path2)
                pygame.mixer.music.play()
                flag_2 = 3

            elif flag_2 == 3:
                print("播放音乐3")
                screen.blit(background2, (0, 0))
                pygame.display.update()
                pygame.mixer.music.load(path5)
                pygame.mixer.music.play()
                flag_2 = 1
    except Exception as e:
        print(e)


if __name__ == '__main__':
    ps_bt20()


我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼都飘散如烟,我曾经失落失望失掉所有方向,直到看见平凡才是唯一的答案。
——韩寒《平凡之路》

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值