iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >怎样使用HTML5 Canvas创建动态粒子网格动画
  • 848
分享到

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

2024-04-02 19:04:59 848人浏览 八月长安
摘要

小编给大家分享一下怎样使用HTML5 canvas创建动态粒子网格动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!添加一个ca

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

--结束END--

本文标题: 怎样使用HTML5 Canvas创建动态粒子网格动画

本文链接: https://www.lsjlt.com/news/92265.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 怎样使用HTML5 Canvas创建动态粒子网格动画
    小编给大家分享一下怎样使用HTML5 Canvas创建动态粒子网格动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!添加一个ca...
    99+
    2024-04-02
  • 如何使用HTML5 Canvas创建动态粒子网格动画
    这篇文章主要为大家展示了“如何使用HTML5 Canvas创建动态粒子网格动画”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5 Canvas创建...
    99+
    2024-04-02
  • 使用canvas怎么实现一个粒子动画背景
    使用canvas怎么实现一个粒子动画背景?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建canvas首先需要在需要展示粒子背景的父元素中创建一个canvas标签, 指定wid...
    99+
    2023-06-09
  • 怎么使用JavaScript+Canvas实现带跳动效果的粒子动画
    这篇“怎么使用JavaScript+Canvas实现带跳动效果的粒子动画”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使...
    99+
    2023-07-05
  • 使用canvas怎么实现一个粒子动效
    本篇文章为大家展示了使用canvas怎么实现一个粒子动效,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。绘制刻度此例为小时刻度的绘制:表盘上共有12个小时,Math.PI为180&deg;,每...
    99+
    2023-06-09
  • 怎么用HTML5中的Canvas结合公式绘制粒子运动
    本篇内容介绍了“怎么用HTML5中的Canvas结合公式绘制粒子运动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2024-04-02
  • 使用CSS3怎么创建网页动画
    使用CSS3怎么创建网页动画?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。基础准备对于这个实现,我们需要一个简单的 div ,并且样式类名为 ball :HTML 代码:<...
    99+
    2023-06-08
  • 使用CSS3怎么实现一个粒子动画效果
    本篇文章给大家分享的是有关使用CSS3怎么实现一个粒子动画效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。按钮点击粒子动画<div class="b...
    99+
    2023-06-08
  • 怎么在html5中使用canvas实现一个动态画饼状图
    怎么在html5中使用canvas实现一个动态画饼状图?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先用canvas画实心圆//伪代码var canv...
    99+
    2023-06-09
  • 使用jQuery怎么实现一个动态粒子效果
    使用jQuery怎么实现一个动态粒子效果?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。<!DOCTYPE html><html lan...
    99+
    2023-06-14
  • 使用Canvas怎么实现一个炫丽的粒子运动效果
    使用Canvas怎么实现一个炫丽的粒子运动效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html 代码<!DOCTYPE html>&...
    99+
    2023-06-09
  • 怎么在html5中使用Canvas自定义路径动画
    怎么在html5中使用Canvas自定义路径动画?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。创建Path制作动画前,先要拿到动画的路径,对此我们可以直接使用svg的pat...
    99+
    2023-06-09
  • 使用jquery怎么动态创建元素
    本篇文章为大家展示了使用jquery怎么动态创建元素,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。jquery是什么jquery是一个简洁而快速的JavaScript库,它具有独特的链式语法和短小清...
    99+
    2023-06-14
  • 怎么在Html5中使用Canvas实现动画碰撞检测功能
    本篇文章为大家展示了怎么在Html5中使用Canvas实现动画碰撞检测功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵...
    99+
    2023-06-09
  • HTML5中怎么使用Canvas动态绘制心型线和玫瑰线
    本篇内容主要讲解“HTML5中怎么使用Canvas动态绘制心型线和玫瑰线”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5中怎么使用Canvas动态绘制心...
    99+
    2024-04-02
  • c语言动态库怎么创建和使用
    要创建一个动态库(也称为共享库),通常需要遵循以下步骤: 编写库的源代码文件,通常是以.c为扩展名的文件,包含库中所需的函数和数...
    99+
    2024-03-02
    c语言
  • 如何使用MySQL和JavaScript创建一个动态数据表格
    要创建一个动态数据表格,可以通过以下步骤使用MySQL和JavaScript:1. 首先,创建一个MySQL数据库并创建一个数据表。...
    99+
    2023-10-20
    MySQL
  • 怎么使用css快速创建3点加载动画
    这篇文章主要介绍了怎么使用css快速创建3点加载动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。直接上代码:<!DOCTYPE&nb...
    99+
    2024-04-02
  • 怎么在VBS中使用 vbscript动态创建数组
    今天就跟大家聊聊有关怎么在VBS中使用 vbscript动态创建数组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实例代码'建立动态数组Dim Arrl ...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作