v1.0 发布
物理烟花
粒子模拟引擎
基于速度向量与重力阻力的实时粒子系统,提供 12 种真实烟花爆炸效果,零依赖纯原生实现
点击或触摸发射烟花
核心特性
每项特性都为真实物理模拟而生
物理速度模型
每个粒子拥有独立的速度向量、重力、空气阻力与生命周期衰减,产生自然弧线轨迹
12 种爆炸效果
牡丹、菊花、柳树、棕榈树、珍珠、十字交叉、锦缎、伽牟罗、频闪、蜘蛛网、环形、花蕊
粒子拖尾与闪烁
每个粒子记录历史位置生成渐变发光拖尾,正弦波闪烁因子模拟真实火花光感
音频对象池
预创建音频实例池避免频繁分配,随机选择音效文件,支持音效开关与状态持久化
移动端适配
触摸事件低延迟响应,全屏 API 与横屏锁定,方向提示,响应式画布尺寸
帧率自适应
基于 deltaTime 的物理更新,在 60fps 与 120fps 设备上表现一致
常见问题
关于 FireworksJS 的技术细节
完全不依赖。FireworksJS 使用纯原生 HTML5 Canvas 2D API 和 JavaScript 实现,没有任何 npm 依赖或外部脚本引入。所有 CSS 和 JS 都内联在单个 HTML 文件中。
每个粒子拥有独立的 vx/vy 速度向量,每帧应用重力加速度和空气阻力系数进行衰减。粒子有生命周期衰减值,通过倒序遍历数组在生命周期结束时移除。拖尾通过记录历史位置实现渐变渲染。
支持所有现代浏览器(Chrome、Firefox、Safari、Edge),兼容桌面端和移动端。移动端支持触摸交互、全屏 API 和横屏锁定。基于 deltaTime 的帧率自适应确保不同刷新率设备表现一致。
使用加权随机算法选择爆炸效果。牡丹(30%)和菊花(20%)作为最常见效果出现频率最高,符合真实烟花的分布比例。稀有效果如环形和花蕊出现概率较低,增加惊喜感。