这是一个烟花的简单模拟程序,只考虑了重力。2D 环境。
烟花分为上升过程以及爆炸过程 。
使用 C++ 编写,firework 类表示烟花,其有 raise 代表上升过程,bomb list 代表的是爆炸颗粒集合。
程序环境:VS2019、EasyX_20210115、C++11。
烟花的坐标就用真实世界的坐标,在绘画时候通过调整屏幕坐标方向以及缩放因子来完成坐标映射。
烟花的速度以及烟花的位置每帧更新一次,每次更新基于两帧间的时间差值进行更新。
绘画烟花尾部的小尾巴,我使用的是每帧对屏幕所有点的像素值进行平均。也就是把像素颜色与周围像素点颜色值求平均。