本教程使用python3
本项目GitHub连接
其实就是模拟烟花
先上效果:
小图
大图:
完整代码如下,其中有一个MP3文件,你可以用自己的文件重命名为yanhua.mp3。
import pygame, math, time, random, os
from sys import exit
WINDOW_W = 940
WINDOW_H = 620
one_time = 0.18 #时间流速
show_n = 0
show_frequency = 0.0015 #烟花绽放频率,数值越大频率越高
color_list = [
[255, 50, 50],
[50, 255, 50],
[50, 50, 255],
[255, 255, 50],
[255, 50, 255],
[50, 255, 255],
[255, 255, 255]
]
# 初始化pygame,为使用硬件做准备
pygame.init()
pygame.mixer.init()
os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (150,50)
# 创建一个窗口
screen = pygame.display.set_mode((WINDOW_W, WINDOW_H), pygame.DOUBLEBUF, 32)
pygame.display.set_caption("烟花")
# pygame.time.delay(1000)#等待1秒让mixer完成初始化
sound_wav = pygame.mixer.music.load("yanhua.mp3")
pygame.mixer.music.play()
class Yanhua():
is_show = False
x, y = 0, 0
vy = 0
p_list = []
color = [0, 0, 0