分享更有价值
被信任是一种快乐

怎样使用HTML5 Canvas创建动态粒子网格动画

文章页正文上

小编给大家分享一下怎样使用HTML5 Canvas创建动态粒子网格动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!添加一个canvas了:
  下面是样式:
  #canvas{
  position: absolute;
  display: block;
  left:0;
  top:0;
  background: #0f0f0f;
  z-index: -1;
  }
  上面canvas的z-index: -1的作用是可以放在一些元素的下面当做背景。
  为了确保canvas能够充满整个浏览器,所以要将canvas的宽高设置成和浏览器一样:
  function getSize(){
  w = canvas.width = window.innerWidth;
  h = canvas.height = window.innerHeight;
  }
  上面w和h分别代表浏览器的宽高。
  获得了浏览器的宽高,接下来就是在里面画粒子了,这里我们需要提前定义一些粒子的参数:
  var opt = {
  particleAmount: 50, //粒子免费云主机、域名个数
  defaultSpeed: 1, //粒子运动速度
  variantSpeed: 1, //粒子运动速度的变量
  particleColor: “rgb(32,245,245)”, //粒子的颜色
  lineColor:”rgb(32,245,245)”, //网格连线的颜色
  defaultRadius: 2, //粒子半径
  variantRadius: 2, //粒子半径的变量
  minDistance: 200 //粒子之间连线的最小距离
  };
  上面的速度变量和半径变量都是为了保证粒子的大小和速度不是一模一样。
  然后我们再创建一个类用来初始化粒子,代码比较长,我都加了注释:
  function Partical(){
  this.x = Math.random()*w; //粒子的x轴坐标
  this.y = Math.random()*h; //粒子的y轴坐标
  this.speed = opt.defaultSpeed + opt.variantSpeed*Math.random(); //粒子的运动速度
  this.directionAngle = Math.floor(Math.random()*360); //粒子运动的方向
  this.color = opt.particleColor ; //粒子的颜色
  this.radius = opt.defaultRadius+Math.random()*opt.variantRadius; //粒子的半径大小
  this.vector = {
  x:this.speed * Math.cos(this.directionAngle), //粒子在x轴的速度
  y:this.speed * Math.sin(this.directionAngle) //粒子在y轴的速度
  }
  this.update = function(){ //粒子的更新函数
  this.border(); //判断粒子是否到了边界
  this.x += this.vector.x; //粒子下一时刻在x轴的坐标
  this.y += this.vector.y; //粒子下一时刻在y轴的坐标
  }
  this.border = function(){ //判断粒子是都到达边界
  if(this.x >= w || this.x

  this.vector.x *= -1;
  }
  if(this.y >= h || this.y

  this.vector.y *= -1;
  }
  if(this.x > w){ //下面是改变浏览器窗口大小时的操作,改变窗口大小后有的粒子会被隐藏,让他显示出来即可
  this.x = w;
  }
  if(this.y > h){
  this.y = h;
  }
  if(this.x

  this.x = 0;
  }
  if(this.y

  this.y = 0;
  }
  }
  this.draw = function(){ //绘制粒子的函数
  ctx.beginPath();
  ctx.arc(this.x, this.y, this.radius ,0 ,Math.PI * 2);
  ctx.closePath();
  ctx.fillStyle = this.color;
  ctx.fill();
  }
  }以上是“怎样使用HTML5 Canvas创建动态粒子网格动画”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!

相关推荐: html5文档流如何脱离

这篇文章主要介绍了html5文档流如何脱离的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5文档流如何脱离文章都会有所收获,下面我们一起来看看吧。 html5中,文档流又称“普通流”,指的是元素排版布局过程中,元素会默认自动…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册