含源码,用Python实现浪漫烟花

炫彩电子烟花(营造浪漫专用) 这是一款基于Python和Pygame开发的视觉特效程序,通过粒子系统模拟烟花绽放效果并随机显示情感文字。程序包含红蓝点融合的开场动画、金色火星爆炸效果和主烟花场景,文字内容随机显示"我爱你"等温馨词汇。技术实现上采用面向对象设计,包含粒子类、文字粒子类和烟花类,实现了物理运动模拟、生命周期管理和渐变效果。该程序可作为数字贺卡使用,支持自定义文字和颜色方案,展现了技术实现与情感表达的完美结合,为Pygame动画开发提供了有价值的参考案例。 阅读详情

目录

前言

环境准备

代码编写

效果展示


前言

Python实现浪漫的烟花特效
现在很多地方都不能放烟花了,既然看不到,
那作为程序猿的我们还不能自己用代码做一个吗?
今天就带大家用代码做一个烟花特效吧。


环境准备

这里使用到的库有:pygame(用于游戏的编写)、random(用于产生随机范围数)、math(用于数学计算),期中pygame属于第三方模块,如果未安装该模块可以使用命令:pip install pygame 进行安装。

pip install pygame

代码编写

全局变量:

vector = pygame.math.Vector2
# 重力变量
gravity = vector(0, 0.3)
# 控制窗口的大小
DISPLAY_WIDTH = DISPLAY_HEIGHT = 800

# 颜色选项
trail_colours = [(45, 45, 45), (60, 60, 60), (75, 75, 75), (125, 125, 125), (150, 150, 150)]
dynamic_offset = 1
static_offset = 3

 Firework : 整体部分

class Firework:
    def __init__(self):
        # 随机颜色
        self.colour = (randint(0, 255), randint(0, 255), randint(0, 255))
        self.colours = (
            (randint(0, 255), randint(0, 255), randint(0, 255)),
            (randint(0, 255), randint(0, 255), randint(0, 255)),
            (randint(0, 255), randint(0, 255), randint(0, 255)))
        self.firework = Particle(randint(0, DISPLAY_WIDTH), DISPLAY_HEIGHT, True,
                                 self.colour)  # Creates the firework particle
        self.exploded = False
        self.particles = []
        self.min_max_particles = vector(100, 225)

    def update(self, win):  # 每帧调用
        if not self.exploded:
            self.firework.apply_force(gravity)
            self.firework.move()
            for tf in self.firework.trails:
                tf.show(win)

            self.sh
Python代码示例,可以生成烟花表演效果 请注意,这只是一个简单的示例程序,并不包含过多的交互性或复杂的动画效果。如果您需要更高级、更定制化的烟花表演效果,请考虑使用专业的图形库(如Pygame)和/或动画框架(如Tweening)。个简单的Python代码示例,可以生成烟花表演效果。您可以根据自己的喜好和需要来修改参数,以获得所需的效果。 阅读详情

相关推荐

Python表白代码:“ 星光月夜烟花 皆归你,我也归你”

导语 "慢品人间烟火色 闲观人间岁月长" ———致自己 遇见我以后,我们的故事就开始了,愿你历经山河,仍觉得人间值得。 **星光月夜烟花皆归你,我也归你。**关于烟花大家都知道多少?有多少表白故事情节都发生在烟 花下,想必木木子不用说大家也知道叭~ 今天这则小短文就是关于烟花的故事!你准备好跟我一起进入烟花的世界了嘛? 正文 “每一句文案,都有一个故事,你仔细听” 1)环境安装 准备好:Python3、Pycharm、Tkinter、Pygame、Pillow以及一些自带模块。 安装命令统一: .

5472

用python画烟花的代码,python画烟花绽放出字

语言:Python;Pygame;在介绍代码之前,先介绍下 Pygame 绘制烟花的基本原理,烟花从发射到绽放一共分为三个阶段:1,发射阶段:在这一阶段烟花的形状是线性向上,通过设定一组大小不同、颜色不同的点来模拟“向上发射” 的运动运动,运动过程中 5个点被赋予不同大小的加速度,随着时间推移,后面的点会赶上前面的点,最终所有点会汇聚在一起,处于绽放准备阶段;2,烟花绽放:烟花绽放这个阶段,是由一个点分散多个点向不同方向发散,并且每个点的移动轨迹可需要被记录,目的是为了追踪整个绽放轨迹。

Z77888_的博客 1092

C语言实现烟花表白,内含源码!!

C语言实现烟花表白,内含源码!!

weixin_55751709的博客 4781

python烟花代码

python 编写烟花特效代码

JustinMars的博客 7520

【Python】情人节表白烟花(带声音和文字)

Python绘制情人节表白烟花(带声音和音乐)。

阿黎逸阳的博客 1万+

Qt+PCL实战:如何用QVTKOpenGLNativeWidget高效渲染3D点云(附完整代码)

本文深入解析了Qt与PCL结合使用QVTKOpenGLNativeWidget进行高效3D点云渲染的实战技术。通过对比传统QVTKWidget,详细介绍了QVTKOpenGLNativeWidget在渲染效率、内存占用和兼容性方面的显著优势,并提供了完整的代码示例和性能优化策略,助力开发者在工业检测、自动驾驶等领域实现更高效的点云可视化。

keras9composer的博客 681

StarCCM+ 导入STL几何模型进行仿真

通过 Import Surface Mesh 的方法导入 STL 文件进行仿真

薛定谔的alpha狗 6120

Amber实战:小分子配体MD模拟全流程避坑指南(附磷酸基团处理技巧)

本文提供了一份基于Amber软件进行小分子配体分子动力学模拟的实战避坑指南。详细解析了从晶体结构预处理、配体参数化(重点探讨AM1-BCC与RESP电荷选择)、复合物体系构建到模拟稳定性调试的全流程。特别针对磷酸基团等特殊官能团处理中常见的模拟崩溃问题,给出了系统性的诊断与解决方案,旨在帮助研究者获得稳定可靠的模拟结果。

weixin_29237635的博客 678

避坑指南:LVGL在Arduino环境编译报错?3步搞定lv_conf.h路径问题(附ST7789屏幕调试技巧)

本文详细解析了在Arduino环境中配置LVGL图形库时,如何解决常见的“lv_conf.h file not found”编译报错问题。通过三步法:定位并复制模板文件、启用核心配置并指定路径、配置基础参数,从根本上解决路径问题。文章还结合ST7789屏幕驱动,分享了使用TFT_eSPI库进行显示适配、内存优化及背光控制等实战调试技巧,帮助开发者建立清晰、可维护的嵌入式UI工程基础。

lake5的博客 853

医学图像分割实战:基于TransUNet训练自己的眼底硬渗出物数据集(附完整代码)

本文详细介绍了基于TransUNet的眼底硬渗出物分割实战指南,涵盖数据预处理、模型调优、训练策略及性能优化等关键环节。通过代码复现和实验对比,展示了TransUNet在医学图像分割中的优势,为糖尿病视网膜病变的早期诊断提供技术支持。

weixin_42524708的博客 358

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺下实现高分辨率(大于16位),同时由于结构简单,所以易于实现。低成本高性能使得Delta-Sigma调制技术得到了广泛的应用。 Delta-Sigma型ADC的结构原理图如下图所示: 它最大的优势在于仅用1位ADC进行数据转换,同时其模拟电路部分结构简单不需要

阿星的博客 2万+

MIPI RFFE 信号完整性与硬件设计

MIPI RFFE信号完整性设计关键点 摘要:MIPI RFFE作为射频前端控制总线,其信号完整性设计需平衡速率、驱动能力与抗干扰性。核心挑战在于确保接收端在52Mb/s速率下保持足够的电压和时序裕量。关键设计考量包括: 驱动能力优化:过强导致过冲/振铃和射频杂散,过弱则恶化时序裕量,需与总线负载匹配。 波形质量指标:严格控制上升/下降时间(兼顾EMC和时序要求),抑制过冲/振铃幅度,管理VIO电源纹波和耦合噪声。

sinat_15150363的博客 228

华为OD新系统机试真题 - 获取大写字母瓷砖拼出独特图案数量

华为OD机试新系统真题【获取大写字母瓷砖拼出独特图案数量】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统四月二十九号机试真题【获取大写字母瓷砖拼出独特图案数量】

qq_45776114的博客 1214

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 真的强,又一个开源项目,杀疯了
下一篇: 狼人杀微信小程序项目实例(附源码)
Python正在输入中......
博客等级 码龄4年 660粉丝 69原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值