![a01ca33a55126d385ac8378d35ac9a41.png](https://i-blog.csdnimg.cn/blog_migrate/854b10a2fb7cd0f75a4c14fae103f424.jpeg)
![43e7d7e68946b27fe8ca1d21b75fc8e2.gif](https://i-blog.csdnimg.cn/blog_migrate/922db99e623076e3d113d2071e66339a.gif)
1前言
在上一周的文章中,小编给大家带来了一个表白神奇,不知道大家有没有过一个愉快的520。生活中除了给男神女神表白,还会遇到朋友过生日,所以小编今天就给大家带来了一个送给朋友的生日祝福程序。
2准备
本次程序还是用python编写,第三方库用到了pygame。安装方式在命令行运行以下代码即可。
pip install pygame
3主要步骤
首先是导入所需模块以及初始化pygame:
#导入模块
import random
import pygame
pygame.mixer.init()
from pygame.locals import *
pygame.init()
其中的pygame.mixer.init()为pygame播放器的初始化,因为小编为这个程序还添加了音乐。
在编写程序之前,先缕一缕要达到的目的。首先是要有两个界面,第一个界面模拟微信视频通话界面,第二个界面为主要界面,即生日祝福界面。然后再将所需的资源文件放在与代码文件同目录下的resource文件夹中。
加载资源文件
fps = 30
fpsClock = pygame.time.Clock()
icon = pygame.image.load(rp('resource/h-2.JPG'))
bali = pygame.image.load(rp('resource/baligonglu.png'))
cake = pygame.image.load(rp('resource/cake.png'))
fire1 = pygame.image.load(rp('resource/firework1.png'))
fire2 = pygame.image.load(rp('resource/firework2.png'))
fire3 = pygame.image.load(rp('resource/firework3.png'))
fire4 = pygame.image.load(rp('resource/firework4.png'))
font = pygame.font.Font(rp('resource/繁星糖果.ttf'),50)
font1 = pygame.font.Font(rp('resource/繁星糖果.ttf'),30)
boom_sound = pygame.mixer.Sound(rp('resource/爆炸.wav'))
资源文件加载完成后,先写第一个界面。
由于第一个界面为模拟微信视频通话,所以可以自己用手机视频通话然后截图。这个界面也是一个循环,与之前的程序主循环一样。先设置窗口。
screen = pygame.display.set_mode((340,700))
pygame.display.set_caption('生日快乐')
pygame.display.set_icon(icon)
然后定义一个加载的类,没有属性,只有display这个方法。
#加载。。。
class Load(object):
def display(self):
screen.blit(bali,(0,0))
pygame.display.update()
l = Load()
加载对象写好后,就直接用一个while循环,不停的调用该类的display方法。并在此时播放预先准备好的铃声。