原生js彩色星星喷射特效,canvas特效,超简单的原生js
来源:互联网 发布:macbook air 卸载软件 编辑:程序博客网 时间:2024/04/30 11:58
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>原生js彩色星星喷射特效</title>
</head>
<style type="text/css">
*{
padding: 0;margin: 0;
}
body{
background: #000;
}
</style>
<body>
<canvas id="canvas" width="" height=""></canvas>
</body>
<script type="text/javascript">
var Canvas = {};
Canvas.anim = {
init:function(){
var canvas = document.getElementById('canvas');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
//设置画布
this.ctx = canvas.getContext('2d');
this.letters = '*******************';
this.cw = canvas.width;//获取画布宽
this.ch = canvas.height;//获取画布高
this.particles = [];
},
//执行动画
render:function(){
this.ctx.clearRect(0,0,this.cw,this.ch);
//字母的属性
//设置x轴中心点
var particle = {
x:this.cw/2,
y:this.ch,
xSpeed:(Math.random()*20) - 10,
ySpeed:(Math.random()*20) - 10,
size:10,
character:this.letters[Math.floor(Math.random() * this.letters.length)],
/*color:[155, 100, 50, .7]*/
color:function getRandomColor() {
return '#' +
(function(color) {
return(color += '0123456789abcdef' [Math.floor(Math.random() * 16)]) &&
(color.length == 6) ? color : arguments.callee(color);
})('');
}
}
this.particles.push(particle);
this.drawParticle();
},
//绘制字母
drawParticle:function(){
var c = this.ctx;
var particleCount = this.particles.length;
for(var i = 0;i < particleCount;i++){
var particle = this.particles[i];
//设置颜色hsla值
/* var h = particle.color[0],
s = particle.color[1] + '%',
l = particle.color[2] + '%',
a = particle.color[3];
var hsla = 'hsla('+h+','+s+','+l+','+a+')';*/
//设置颜色文字
c.font = "12px sans-serif";
c.fillStyle = particle.color();
c.fillText(particle.character,particle.x,particle.y);
//设置运动轨迹
particle.x += particle.xSpeed;
particle.y += particle.ySpeed;
particle.y *= 0.98;
// document.body.style.backgroundColor = particle.color();
}
this.fadeParticle();
},
//背景透明
fadeParticle:function(){
this.ctx.fillStyle = particle.color();
this.ctx.fillRect(0,0,this.cw,this.ch);
}
}
Canvas.anim.init();
setInterval(function(){
Canvas.anim.render();
},20);
</script>
</html>
<html>
<head>
<meta charset="utf-8" />
<title>原生js彩色星星喷射特效</title>
</head>
<style type="text/css">
*{
padding: 0;margin: 0;
}
body{
background: #000;
}
</style>
<body>
<canvas id="canvas" width="" height=""></canvas>
</body>
<script type="text/javascript">
var Canvas = {};
Canvas.anim = {
init:function(){
var canvas = document.getElementById('canvas');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
//设置画布
this.ctx = canvas.getContext('2d');
this.letters = '*******************';
this.cw = canvas.width;//获取画布宽
this.ch = canvas.height;//获取画布高
this.particles = [];
},
//执行动画
render:function(){
this.ctx.clearRect(0,0,this.cw,this.ch);
//字母的属性
//设置x轴中心点
var particle = {
x:this.cw/2,
y:this.ch,
xSpeed:(Math.random()*20) - 10,
ySpeed:(Math.random()*20) - 10,
size:10,
character:this.letters[Math.floor(Math.random() * this.letters.length)],
/*color:[155, 100, 50, .7]*/
color:function getRandomColor() {
return '#' +
(function(color) {
return(color += '0123456789abcdef' [Math.floor(Math.random() * 16)]) &&
(color.length == 6) ? color : arguments.callee(color);
})('');
}
}
this.particles.push(particle);
this.drawParticle();
},
//绘制字母
drawParticle:function(){
var c = this.ctx;
var particleCount = this.particles.length;
for(var i = 0;i < particleCount;i++){
var particle = this.particles[i];
//设置颜色hsla值
/* var h = particle.color[0],
s = particle.color[1] + '%',
l = particle.color[2] + '%',
a = particle.color[3];
var hsla = 'hsla('+h+','+s+','+l+','+a+')';*/
//设置颜色文字
c.font = "12px sans-serif";
c.fillStyle = particle.color();
c.fillText(particle.character,particle.x,particle.y);
//设置运动轨迹
particle.x += particle.xSpeed;
particle.y += particle.ySpeed;
particle.y *= 0.98;
// document.body.style.backgroundColor = particle.color();
}
this.fadeParticle();
},
//背景透明
fadeParticle:function(){
this.ctx.fillStyle = particle.color();
this.ctx.fillRect(0,0,this.cw,this.ch);
}
}
Canvas.anim.init();
setInterval(function(){
Canvas.anim.render();
},20);
</script>
</html>
阅读全文
0 0
- 原生js彩色星星喷射特效,canvas特效,超简单的原生js
- 原生js 放大镜特效
- 原生js实现放大镜特效
- H5+原生js 雪花特效
- 原生js特效实现的图片分页精美特效
- JS 实现万花筒特效 JS 原生代码
- JS打字特效 JS 原生代码
- js特效之下星星
- 炫酷的鼠标特效JS 原生代码
- 原生js和jquery实现图片轮播特效
- CSS3 特效按钮 + 原生JS递归实现fadeout
- html+css+js实现原生轮播特效
- Canvas作图原生Js五子棋
- JS特效之星星打分效果
- HTML5 canvas超简单和逼真的下雪特效
- JS简单特效
- 使用原生Js+Canvas做一个简单的web游戏
- 原生js实现简单的展开收缩
- 影子跟随算法
- Node核心模块
- Jmeter + Ant 报告优化
- Java 垂直等腰直角三角形 等边三角形 while(true){}
- 离散存储---链表
- 原生js彩色星星喷射特效,canvas特效,超简单的原生js
- 遇到多个构造器参数时考虑用构建器
- jQuery:find()与children()区别
- 我的第一篇博客
- MySQL中聚合函数count的使用和性能优化
- Node学习心得
- python获取当前时间的用法
- 【Paper Note】Convolutional Clustering for Unsupervised Learning 论文理解
- Android设置透明、半透明等效果