我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎样使用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<= 0){ //如果到达左右边界,就让x轴的速度变为原来的负数

  this.vector.x *= -1;

  }

  if(this.y >= h || this.y <= 0){ //如果到达上下边界,就让y轴的速度变为原来的负数

  this.vector.y *= -1;

  }

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

  this.x = w;

  }

  if(this.y > h){

  this.y = h;

  }

  if(this.x < 0){

  this.x = 0;

  }

  if(this.y < 0){

  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创建动态粒子网格动画”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用canvas怎么实现一个粒子动画背景

使用canvas怎么实现一个粒子动画背景?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建canvas首先需要在需要展示粒子背景的父元素中创建一个canvas标签, 指定wid
2023-06-09

怎么使用JavaScript+Canvas实现带跳动效果的粒子动画

这篇“怎么使用JavaScript+Canvas实现带跳动效果的粒子动画”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使
2023-07-05

使用CSS3怎么创建网页动画

使用CSS3怎么创建网页动画?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。基础准备对于这个实现,我们需要一个简单的 div ,并且样式类名为 ball :HTML 代码:
2023-06-08

怎么在html5中使用canvas实现一个动态画饼状图

怎么在html5中使用canvas实现一个动态画饼状图?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.先用canvas画实心圆//伪代码var canvas
2023-06-09

编程热搜

目录