← 返回首页

烟花代码生成器

参数设置

预览

点击画布放烟花

生成的代码

烟花代码生成器 是什么?

这是一个在浏览器里跑的烟花特效代码生成器,你调好颜色、粒子数、爆炸半径这些参数,它直接吐出可以粘贴进网页的 HTML+Canvas 代码。解决的问题是:想给页面加一段烟花动画,但自己写 Canvas 粒子系统太费时间,找现成代码又改不动参数。典型场景:给女朋友做一个生日祝福页,背景是深蓝夜空,烟花颜色设成 #ff4d6d 和 #ffd166 两色交替,爆炸半径 120px,粒子数 80,速度 3.5,生成代码后存成 birthday.html,双击就能在浏览器里看效果,不用装任何环境。

使用步骤

  1. 打开工具页,在颜色选择器里输入主色 #ff4d6d,点“添加颜色”再加一个 #ffd166,两个颜色会按顺序循环使用。
  2. 设置粒子数 80、爆炸半径 120px、初速度 3.5、重力 0.05,这些值决定烟花炸开后散得开不开、落得快不快。
  3. 调整发射间隔 600ms 和同时存在的烟花上限 5 个,间隔越小越密集,上限太高在手机上会掉帧。
  4. 右侧预览区会实时播放效果,觉得太密就把粒子数降到 50,觉得颜色太单一就再加一个 #4cc9f0。
  5. 点“复制代码”,得到一段完整的 HTML,里面包含 canvas 标签和约 120 行 JavaScript,粘贴到 .html 文件里保存即可。

对比:用它还是手工做?

对比维度本工具手工/替代做法
上手时间调 4 个参数约 30 秒,复制即用从零写 Canvas 粒子系统约 2 到 4 小时
代码体积默认约 4.2KB,无外部依赖引入 particles.js 约 120KB,或自己写 200 行以上
参数调整滑块实时预览,改完立刻看到效果改代码后刷新页面,每次约 5 到 10 秒
移动端适配自动按 devicePixelRatio 缩放画布需手动处理 dpr,否则高分屏模糊
颜色循环支持 2 到 6 色按顺序循环需自己写数组索引和取模逻辑

常见问题

粒子数设多少不卡?

手机端建议单次爆炸粒子数不超过 80,同时存在的烟花不超过 5 个,总粒子数控制在 400 以内。桌面端可以放到 150 粒子、8 个烟花,约 1200 粒子。超过 2000 个粒子在 60fps 下每帧要算 2000 次位置更新,中低端手机会掉到 30fps 以下。

颜色支持几种格式?

支持 #RRGGBB 六位十六进制、#RGB 三位简写,以及 rgb(255,77,109) 这种函数写法。不支持带透明度的 rgba,因为粒子透明度由代码里的生命周期自动控制,从 1 线性衰减到 0。最多建议加 6 个颜色,超过 6 个循环一轮要等太久,视觉上反而乱。

生成的代码多大?

默认参数下生成的 HTML 约 4.2KB,其中 Canvas 绘制逻辑约 120 行、3.1KB,样式和结构约 1.1KB。如果把粒子数从 80 降到 40,代码体积不变,因为粒子数是运行时变量。代码里没有引用任何外部库,不依赖 jQuery 或 particles.js。

重力参数怎么调?

重力默认 0.05,表示每帧给粒子的垂直速度加 0.05px。设成 0 粒子会一直往上飘不落下来;设成 0.2 会像铁砂一样快速下坠。想要“绽放后缓慢飘落”的效果,建议 0.03 到 0.08 之间。这个值和速度要配合:速度 3.5 配重力 0.05,粒子大约 1.4 秒后落回爆炸原点高度。

能放在手机网页里吗?

可以,生成的代码用 Canvas 2D 绘制,兼容 iOS Safari 10+ 和 Android Chrome 60+。但要注意两点:一是页面要加 viewport meta 标签,否则 canvas 宽度会按 980px 渲染;二是移动端 devicePixelRatio 通常是 2 或 3,代码里已经按 dpr 缩放画布,所以 120px 半径在手机上实际占 240 到 360 个物理像素。

所有计算和代码生成都在你的浏览器里完成,参数不会上传到服务器。生成的代码是纯前端 Canvas 2D 实现,不依赖任何后端接口。粒子运动用简单的欧拉积分,不是物理引擎,所以爆炸形状是均匀球形而非真实烟花的不规则散射。颜色循环按数组顺序,不支持随机取色。

浙ICP备2026073450号