写在前面

今年跨年怎么过呢~博主用python的pygame实现了一场炫酷的烟花秀,一起来看看吧!

环境需求

python3.11.4及以上PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)

【注】

python环境搭建请见:https://want595.blog.csdn.net/article/details/134586653pyinstaller使用教程见:https://want595.blog.csdn.net/article/details/134106807

跨年烟花秀 

程序设计

import pygame as pg

import random as ra

import math

pg.init()

pg.display.set_caption("")

winScreen = pg.display.Info()

screenWidth = winScreen.current_w

screenHeight = winScreen.current_h

……完整代码见文末公众号喔

程序分析

这段代码使用Pygame库实现了一个烟花效果。代码通过不断更新和绘制Firework对象和Particle对象来实现烟花的发射和爆炸效果。

Firework类表示一颗烟花,包括一个发射出的火花对象和多个爆炸产生的粒子对象。在update方法中,通过给火花施加重力使其向下移动,并绘制火花和火花的尾迹。当火花的y方向速度变为非负数时,表示火花已经发射完毕,此时设置爆炸状态为True,并调用explode方法生成爆炸的粒子对象。在explode方法中,根据设定的粒子数量范围,生成指定数量的粒子对象,并添加到粒子列表中。show方法用于绘制发射出的火花。

Particle类表示一个粒子,包括位置、速度、加速度等属性。在move方法中根据是否是火花来更新粒子的运动状态,火花会向上运动,而爆炸产生的粒子会减速。在绘制粒子时,使用圆形来表示粒子,根据粒子的属性绘制不同颜色和大小的圆。

Trail类表示烟花的尾迹,包括位置和大小等属性。在show方法中,使用圆形来绘制尾迹。

update函数用于更新和绘制所有的烟花对象,并根据烟花是否需要移除来删除已经爆炸的烟花。

fire函数是主函数,初始化Pygame窗口和其他参数,然后进入游戏循环。在循环中,绘制背景和显示文本,通过调用update函数更新烟花的状态和绘制。当点击关闭按钮时退出循环,结束游戏。

在if __name__ == "__main__"部分,调用fire函数开始运行烟花效果。

注意事项

如遇到问题"no module named pygame",请在终端输入"pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame",等待pygame库安装完成后再运行程序

系列文章 

序号文章目录直达链接表白系列1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want595.blog.csdn.net/article/details/1295031234漂浮爱心https://want595.blog.csdn.net/article/details/1288086305爱心光波https://want595.blog.csdn.net/article/details/1323115886流星雨https://want595.blog.csdn.net/article/details/1293954657玫瑰花https://want595.blog.csdn.net/article/details/133851128节日系列1生日快乐https://want595.blog.csdn.net/article/details/1296949982圣诞节https://want595.blog.csdn.net/article/details/1282137703中秋节https://want595.blog.csdn.net/article/details/1329100754国庆节https://want595.blog.csdn.net/article/details/1334270315儿童节https://want595.blog.csdn.net/article/details/1309507446万圣节https://want595.blog.csdn.net/article/details/1340113977新年快乐https://want595.blog.csdn.net/article/details/128746664动漫系列1柯南https://want595.blog.csdn.net/article/details/1339038472皮卡丘https://want595.blog.csdn.net/article/details/1337831363hellokittyhttps://want595.blog.csdn.net/article/details/1341450484小灰灰https://want595.blog.csdn.net/article/details/1342826155喜羊羊https://want595.blog.csdn.net/article/details/1343387436Tom&Jerryhttps://want595.blog.csdn.net/article/details/134382545炫酷系列1满天星https://want595.blog.csdn.net/article/details/1295720822雪花代码https://want595.blog.csdn.net/article/details/1290381083模拟星空https://want595.blog.csdn.net/article/details/1299488824樱花树https://want595.blog.csdn.net/article/details/1303507435七彩花朵https://want595.blog.csdn.net/article/details/1308978386恶搞代码https://want595.blog.csdn.net/article/details/1312748627代码雨https://want595.blog.csdn.net/article/details/1325746878蝙蝠https://want595.blog.csdn.net/article/details/1339354749南瓜头https://want595.blog.csdn.net/article/details/133973340

写在后面

我是一只有趣的兔子,感谢你的喜欢!

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。