v1.0 发布

物理烟花
粒子模拟引擎

基于速度向量与重力阻力的实时粒子系统,提供 12 种真实烟花爆炸效果,零依赖纯原生实现

点击或触摸发射烟花
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%)作为最常见效果出现频率最高,符合真实烟花的分布比例。稀有效果如环形和花蕊出现概率较低,增加惊喜感。

📱
请将手机横屏以获得最佳体验