<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Canvas流星雨特效</canvas></title>
<style>
*{margin: 0; padding: 0;}
#canvas
{
background: #000;
display: block;
}
</style>
</head>
<body>
<canvas id="canvas">您的浏览器版本过低,请更换浏览器!</canvas>
<script>
var can=document.getElementById('canvas');
var ctx=can.getContext('2d');
var w=can.width=window.innerWidth;
var h=can.height=window.innerHeight;

var count=30;
var drops=[];
window.οnresize=function()
{
w=can.width=window.innerWidth;
   h=can.height=window.innerHeight;
};
function Drop(){}
Drop.prototype={
init: function()
{
this.x=random(0,w);
this.y=0;
this.r=1;
this.color='#0ff';
this.vy=random(4,5);
this.vr=1;
this.a=1;
this.va=0.96;
this.l=random(h*0.8,h*0.9);
},
draw:function()
{
if(this.y>this.l)
{
ctx.beginPath();
ctx.arc(this.x,this.y,this.r,0,2*Math.PI,false);
ctx.strokeStyle='rgba(0,255,255,'+this.a+')';
ctx.stroke();
}
else
{
ctx.fillStyle=color(this.a);
ctx.fillRect(this.x,this.y,2,10);
}
this.update();
},
update: function()
{
if(this.y<this.l)
{
this.y+=this.vy;
}
else
{
if(this.a>0.03)
{
this.r+=this.vr;
if(this.r>50)
{
this.a*=this.va;
}
}
else
{
this.init();
}
}
}
}
function move()
{
ctx.fillStyle='rgba(0,0,0,.1)';
ctx.fillRect(0,0,w,h);
for(var i=0;i<drops.length;i++)
{
drops[i].draw();
}
requestAnimationFrame(move);
};
function setup()
{
for(var i=0;i<count;i++)
{
(function(j)
{
setTimeout(function(){
var drop=new Drop();
drop.init();
drops.push(drop);
},j*200);
}(i))
}
};
setup();
move();
function random(min,max)
{
return Math.random()*(max-min)+min;
};
function color(a)
{
var r=Math.floor(Math.random()*255);
var g=Math.floor(Math.random()*255);
var b=Math.floor(Math.random()*255);
return 'rgba('+r+','+g+','+b+','+a+')';
};
</script>
</body>
</html>

Canvas流星雨特效相关推荐

  1. H5 Canvas下雨特效

    模仿下雨的特效,雨点从空中随机飘落. 这个特效使用了H5的新特性Canvas. 效果演示 代码展示 body代码 <!DOCTYPE html> <html lang="e ...

  2. 金榜提名前端小游戏教程(含冒泡,canvas烟花特效,适配pc,手机)内含源码

    一年一次的高考是人生的第一个重要转折点,如果能重来一起进入时光机,高考前一天小编随便做了一个测一测命中注定大学的小小游戏.(vue前端小游戏,canvas动画) 效果图 源代码 1.html代码 &l ...

  3. Html5 canvas创意特效合集

    Canvas就像一块画布,我们可以通过调用脚本在Canvas上绘制任意形状,甚至是制作动画.本文就是收集了很多非常富有创意的一些canvas动画特效例子,这些例子都非常适合大家学习. 1.3D篝火动画 ...

  4. 分享8款令人惊叹的HTML5 Canvas动画特效

    HTML5的确可以制作出非常绚丽的网页动画效果,尤其是利用HTML5 Canvas特性和HTML5 3D特性,我们更加可以欣赏到超酷的动画特效.今天我从html5tricks网站上整理了8款令人惊叹的 ...

  5. 9个非常有趣的HTML5 Canvas动画特效合集

    HTML5技术正在不断的发展和更新,越来越多的开发者也正在加入HTML5阵营,甚至在移动开发上HTML5的地位也是越来越重要了.HTML5中的大部分动画都是通过Canvas实现,因为Canvas就像一 ...

  6. Python实现流星雨特效代码示例

    本文讲述了Python代码示例:实现流星雨特效!具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧,具体如下: 我们先给大家讲个小故事,提一下你们的兴趣:然后我给出论据,得出结论.最后再把 ...

  7. 字 掉落 炫酷 网站_16个富有创意的HTML5 Canvas动画特效集合

    本文作者html5tricks,转载请注明出处 1.HTML5 Canvas高空瀑布下落湖面动画 HTML5 Canvas是一个神奇的网页技术,我们在Canvas画布上可以做任何有趣的事情.今天要分享 ...

  8. html5星星效果图,H5 canvas流星雨星星特效

    /p> 一起来看流星雨 var context; var arr = new Array(); var starCount = 800; var rains = new Array(); var ...

  9. canvas 实现流星雨特效

    效果图: 代码: <!DOCTYPE html> <html lang="en"> <head><meta charset="U ...

最新文章

  1. linux error errno 错误对照
  2. Apache PHP-fpm Mariadb
  3. Clojure 学习
  4. 在linux的weblogic上增加启动参数
  5. jdk的安装与环境变量的配置
  6. Oracle的Net Configuration Assistant 配置
  7. 价钱转换python_如何在python中转换货币?
  8. bzoj 4002: [JLOI2015]有意义的字符串(特征根法+矩阵快速幂)
  9. 性能测试--jmeter响应数据中文乱码【12】
  10. macOS开机启动项设置
  11. (java毕业设计)基于jsp旅游网站管理系统源码
  12. Ubuntu下VSCode使用等宽字体设置
  13. Insecure CAPTCHA(不安全的验证码)
  14. opencv convertTo函数
  15. SDKMAN 安装过程
  16. JavaScript关于exec()函数的理解
  17. docker学习——tmpfs mounts
  18. 存量设备通过DTU进入阿里云IoT平台
  19. 怎么快速生成gif动图?三步完成gif合成
  20. 强化学习笔记:多臂老虎机问题(7)--Gradient Bandit Algorithm

热门文章

  1. 机器学习代码学习(一)-first-dichotomy
  2. 写一个PE的壳_Part 5:PE格式修复+lief源码修改
  3. 文本框插入表情和图片
  4. Stream流中常用的方法
  5. visual studio2017 调试时出现:“Project1.exe”(Win32): 已加载“D:\workplace\Project1\Debug\Project1.exe”。已加载符号。
  6. Python基础模块:图像处理模块@PIL(批量分类处理图片及添加水印)
  7. 如何学习(Java)
  8. css画扇形的几种实现方式
  9. python14-前端之CSS
  10. 官方正式发布 Java 16