博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Particles.js基于Canvas画布创建粒子原子颗粒效果
阅读量:5876 次
发布时间:2019-06-19

本文共 5646 字,大约阅读时间需要 18 分钟。

文章目录

Particles.js是一款基于HTML5 Canvas画布的轻量级粒子动画插件,可以设置粒子的形状、旋转、分布、颜色等属性,还可以动态添加粒子,效果非常炫酷,能和鼠标互动吸附或者是躲避鼠标指针。

使用方法

1、该粒子动画库插件使用方法非常简单,首先要在页面中引入particles.js文件。

2、在页面中使用一个div来作为放置粒子的容器。

3、通过particlesJS.load()方法加载配置文件

particlesJS.load('particles-js', 'assets/particles.json', function() {  console.log('callback - particles.js config loaded');});

4、编写particles.json配置文件

{  "particles": {    "number": {      "value": 80,      "density": {        "enable": true,        "value_area": 800      }    },    "color": {      "value": "#ffffff"    },    "shape": {      "type": "circle",      "stroke": {        "width": 0,        "color": "#000000"      },      "polygon": {        "nb_sides": 5      },      "image": {        "src": "img/github.svg",        "width": 100,        "height": 100      }    },    "opacity": {      "value": 0.5,      "random": false,      "anim": {        "enable": false,        "speed": 1,        "opacity_min": 0.1,        "sync": false      }    },    "size": {      "value": 10,      "random": true,      "anim": {        "enable": false,        "speed": 80,        "size_min": 0.1,        "sync": false      }    },    "line_linked": {      "enable": true,      "distance": 300,      "color": "#ffffff",      "opacity": 0.4,      "width": 2    },    "move": {      "enable": true,      "speed": 12,      "direction": "none",      "random": false,      "straight": false,      "out_mode": "out",      "bounce": false,      "attract": {        "enable": false,        "rotateX": 600,        "rotateY": 1200      }    }  },  "interactivity": {    "detect_on": "canvas",    "events": {      "onhover": {        "enable": false,        "mode": "repulse"      },      "onclick": {        "enable": true,        "mode": "push"      },      "resize": true    },    "modes": {      "grab": {        "distance": 800,        "line_linked": {          "opacity": 1        }      },      "bubble": {        "distance": 800,        "size": 80,        "duration": 2,        "opacity": 0.8,        "speed": 3      },      "repulse": {        "distance": 400,        "duration": 0.4      },      "push": {        "particles_nb": 4      },      "remove": {        "particles_nb": 2      }    }  },  "retina_detect": true}

自定义参数

key option type / notes example
particles.number.value number 40
particles.number.density.enable boolean true / false
particles.number.density.value_area number 800
particles.color.value HEX (string)
RGB (object)
HSL (object)
array selection (HEX)
random (string)
"#b61924"
{r:182, g:25, b:36}
{h:356, s:76, l:41}
["#b61924", "#333333", "999999"]
"random"
particles.number.density.value_area number 800
particles.shape.type string
array selection
"circle"
"edge"
"triangle"
"polygon"
"star"
"image"
["circle", "triangle", "image"]
particles.shape.stroke.width number 2
particles.shape.stroke.color HEX (string) "#222222"
particles.shape.polygon.nb_slides number 5
particles.shape.image.src path link
svg / png / gif / jpg
"assets/img/yop.svg"
"http://mywebsite.com/assets/img/yop.png"
particles.shape.image.width number
(for aspect ratio)
100
particles.shape.image.height number
(for aspect ratio)
100
particles.opacity.value number (0 to 1) 0.75
particles.opacity.random boolean true / false
particles.opacity.anim.enable boolean true / false
particles.opacity.anim.speed number 3
particles.opacity.anim.opacity_min number (0 to 1) 0.25
particles.opacity.anim.sync boolean true / false
particles.size.value number 20
particles.size.random boolean true / false
particles.size.anim.enable boolean true / false
particles.size.anim.speed number 3
particles.size.anim.size_min number 0.25
particles.size.anim.sync boolean true / false
particles.line_linked.enable boolean true / false
particles.line_linked.distance number 150
particles.line_linked.color HEX (string) #ffffff
particles.line_linked.opacity number (0 to 1) 0.5
particles.line_linked.width number 1.5
particles.move.enable boolean true / false
particles.move.speed number 4
particles.move.direction string "none"
"top"
"top-right"
"right"
"bottom-right"
"bottom"
"bottom-left"
"left"
"top-left"
particles.move.random boolean true / false
particles.move.straight boolean true / false
particles.move.out_mode string
(out of canvas)
"out"
"bounce"
particles.move.bounce boolean
(between particles)
true / false
particles.move.attract.enable boolean true / false
particles.move.attract.rotateX number 3000
particles.move.attract.rotateY number 1500
interactivity.detect_on string "canvas", "window"
interactivity.events.onhover.enable boolean true / false
interactivity.events.onhover.mode string
array selection
"grab"
"bubble"
"repulse"
["grab", "bubble"]
interactivity.events.onclick.enable boolean true / false
interactivity.events.onclick.mode string
array selection
"push"
"remove"
"bubble"
"repulse"
["push", "repulse"]
interactivity.events.resize boolean true / false
interactivity.events.modes.grab.distance number 100
interactivity.events.modes.grab.line_linked.opacity number (0 to 1) 0.75
interactivity.events.modes.bubble.distance number 100
interactivity.events.modes.bubble.size number 40
interactivity.events.modes.bubble.duration number
(second)
0.4
interactivity.events.modes.repulse.distance number 200
interactivity.events.modes.repulse.duration number
(second)
1.2
interactivity.events.modes.push.particles_nb number 4
interactivity.events.modes.push.particles_nb number 4
retina_detect boolean true / false

相关链接

  • npm包管理器地址:
  • Github地址:
  • CDN加速:
  • 问说网CDN加速:
本文系作者
  授权问说网发表,并经问说网编辑,转载请注明出处和 。
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自:
 » 
本文标题:Particles.js基于Canvas画布创建粒子原子颗粒效果
本文地址:
 
转自:http://www.uedsc.com/particles-js.html
你可能感兴趣的文章
【OpenStack】network相关知识学习
查看>>
centos 7下独立的python 2.7环境安装
查看>>
[日常] 算法-单链表的创建
查看>>
前端工程化系列[01]-Bower包管理工具的使用
查看>>
使用 maven 自动将源码打包并发布
查看>>
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
飞秋无法显示局域网好友
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>
Boost在vs2010下的配置
查看>>
android camera(四):camera 驱动 GT2005
查看>>
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
查看>>
20款绝佳的HTML5应用程序示例
查看>>