截图
不废话了,上代码
<!DOCTYPE html>
<html>
<head>
<title>爆炸效果</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<canvas id="canvasTest" width="640px" height="480px"></canvas>
<script>
var booms={};
window.onload = function() {
draw();
}
function draw() {
var canvas = document.getElementById('canvasTest');
if (canvas == null) return false;
var context = canvas.getContext('2d');
context.clearRect(0,0,640,480);
context.save();
context.translate(300,300);
var rg = context.createRadialGradient(0, 0, 0, 100,0,100);
rg.addColorStop(0, '#ff0');
rg.addColorStop(1, '#f00');
context.lineCap = "round";
context.strokeStyle=rg;
for(var i=1;i<20;i++){
if(booms[i] && booms[i].id){
spread(booms[i]);
}else{
var start=random(5,15);
var height=random(5,25);
var angle=random(10,360);
var width=random(1,3);
booms[i]=new boom(i,context,start,height,angle,width);
}
drawLine(booms[i]);
}
context.restore();
setTimeout(draw,50);
}
function spread(boom){
boom.start+=5;
if(boom.height>3){
boom.height-=3;
boom.angle+=1;
}
}
function boom(id,ctx,start,height,angle,width){
this.id=id;
this.ctx=ctx;
this.start=start;
this.height=height;
this.angle=angle;
this.width=width;
this.maxheight=3*(start+height);
}
function drawLine(boom){
if(boom.start+boom.height<boom.maxheight){
boom.ctx.lineWidth = boom.width;
boom.ctx.save();
boom.ctx.rotate(Math.PI*2/360*boom.angle)
boom.ctx.beginPath();
boom.ctx.moveTo(boom.start,0);
boom.ctx.lineTo(boom.start+boom.height,0)
boom.ctx.stroke();
boom.ctx.restore();
}
}
function random(start, end) {
return Math.round(Math.random() * (end - start) + start);
}
</script>
</body>
</html>
先移动原点坐标到300,300. 随机分布20个爆炸碎片, 用渐变线表示. 长度为0,100的渐变线,由黄变红.
分配起始点start,画线长度height,角度angle,线粗width.
在spread中,画线完成后每帧刷新步长为5, 线长每次减3直到少于3.角度稍微变化.
maxheight为最大总长,超过此长度则不再绘画.
- 大小: 2.4 KB
分享到:
相关推荐
【标题】中的“网页模板——基于HTML5+Canvas实现炫彩纸屑爆炸碎片特效”表明这是一个使用HTML5和Canvas技术创建的网页模板,其特色在于能够展示一种炫彩的纸屑爆炸碎片效果。这个特效为网页增加了动态视觉元素,...
插件描述:这是一款基于html5 canvas的炫酷图片爆炸飞散特效js插件。该js插件当用鼠标点击图片时,图片会有玻璃窗被子弹击碎时的爆炸飞散效果,非常炫酷。演示地址:http://www.jq22.com/jquery-info9241
这个“基于html5 canvas绘制炫酷爆炸圆点背景动画特效源码.zip”是一个前端项目,旨在利用Canvas API创建动态、引人注目的背景效果。接下来,我们将深入探讨如何使用HTML5 Canvas来实现这样的动画特效。 首先,...
这个"HTML5 canvas 3D烟花爆炸动画"实例,是利用Canvas API实现的3D视觉效果,让用户在浏览器中享受逼真的烟花秀。 在HTML5 Canvas中,3D效果通常需要借助一些额外的技术,如WebGL。WebGL是一种基于OpenGL标准的...
总的来说,"Canvas光束光线爆炸特效"是一个利用HTML5 Canvas和JavaScript实现的动态视觉效果,能够为网页增添独特且引人入胜的开场动画。通过深入理解并运用这些技术,开发者可以创造出更多创新且富有吸引力的网页...
总结起来,"基于HTML5 canvas的逼真烟花特效插件"——"jquery-fireworks"是一个利用HTML5 canvas技术和jQuery库创建的网页烟花特效工具。它提供了简单易用的接口,让开发者能够轻松在网页中添加生动的烟花展示,同时...
这个"网页模板——基于html5 canvas绘制炫酷爆炸圆点背景动画特效源码"是一个利用HTML5 Canvas API实现的视觉效果,为网页提供了一个引人注目的背景动画。 首先,Canvas API是一个JavaScript接口,提供了基本的2D...
本项目“HTML5 Canvas酷炫彩色圆形粒子爆炸动画特效”充分利用了Canvas API,为用户呈现了一个充满视觉冲击力的效果:当鼠标点击时,彩色的圆形粒子会以爆炸的方式飞散开来,形成独特的动画场景。 首先,让我们了解...
本项目“基于HTML5+Canvas实现炫彩纸屑爆炸碎片特效”就是利用这两者来实现一种吸引眼球的动画效果,常用于网站背景、游戏、互动设计等场景。 HTML5是超文本标记语言(HyperText Markup Language)的第五代版本,它...
在这个特定的“HTML5 Canvas 3D倒计时爆炸特效源码”中,我们可以深入探讨以下几个关键知识点: 1. **HTML5 Canvas API**:Canvas是一个基于矢量图形的HTML元素,它通过JavaScript提供了一套绘图API,可以进行实时...
html5基于canvas实现彩色爆炸的小球动画特效源码是一款html5基于canvas实现彩色爆炸的小球动画特效源码,画面上的小球呈中心往四周爆炸散开的效果,下方有开始于暂停按钮可控制动画的播放。整体动画效果流畅自然。...
本特效是基于Canvas实现的一种酷炫粒子图形变形动画,它利用3D效果来展示当用户点击页面时图形的变化,为网站增添生动而引人入胜的视觉效果。 首先,我们需要理解HTML5 Canvas的基本结构。Canvas是一个HTML元素,...
这是一款基于html5 canvas实现的鼠标点击水珠爆炸动画特效源码,鼠标点击界面可出现水珠的四散爆炸动画效果,该源码没有引入任何外部图形元素,且动画效果逼真流畅,是一款非常经典的HTML5动画源码,建议使用支持...
在这个名为“基于HTML5 canvas的逼真烟花特效插件jquery-fireworks.zip”的压缩包中,我们主要关注的是HTML5的canvas元素以及与之配合的jQuery库来实现的烟花特效。 Canvas是HTML5的一个核心元素,它提供了一个二维...