HTML5Canvas闪电动画
闪电效果的 Canvas 动画,互动性挺强,视觉冲击感也还不错。靠的是 HTML5 的
canvas 的闪电动画,响应鼠标移动,整个过程挺丝滑。先搞个,加个边框,基本样式别忘了:
canvas {
border: 1px solid #000;
}
核心逻辑写在demo.js
里,用getContext('2d')
拿到渲染上下文。后面每次鼠标移动,就调用drawLightning
函数,根据当前位置画出不同的闪电路径,色彩跟着时间变换:
canvas.addEventListener('mousemove', function(event) {
var rect = canvas.getBoundingClientRect();
var x = event.clientX - rect.left;
var y = event.clientY - rect.top;
drawLightning(x, y);
});
要让动画动起来,记得加上requestAnimationFrame
,每一帧都清画布,再重绘中心点那一下,算是个基础背景闪电:
(function animate() {
ctx.clearRect(0, canvas.width, canvas.height);
drawLightning(canvas.width / 2, canvas.height / 2);
requestAnimationFrame(animate);
})();
想让闪电更夸张点?可以调整折线路径的随机范围;颜色不够跳?hue
的步进值也能手动改。,挺适合拿来练手,也适合做互动展示。如果你在搞网页动画设计,可以把这段代码改成更复杂的天气效果。
1.36KB
文件大小:
评论区