js实现canvas发光粒子跟随鼠标喷射动画效果代码
代码语言:html
所属分类:粒子
代码描述:js实现canvas发光粒子跟随鼠标喷射动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/dat.gui-min.js"></script>
<script>
var _createClass = function () {function defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}return function (Constructor, protoProps, staticProps) {if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;};}();function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}var round = Math.round,random = Math.random,PI = Math.PI;
// Vector2
////////////////////////////////////
var Vector2 = function () {
function Vector2() {var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;_classCallCheck(this, Vector2);
this.x = x;
this.y = y;
}_createClass(Vector2, [{ key: 'set', value: function set(
x, y) {this.x = x;this.y = y;} }, { key: 'add', value: function add(
v) {this.x += v.x;this.y += v.y;} }, { key: 'sub', value: function sub(
v) {this.x -= v.x;this.y -= v.y;} }, { key: 'mult', value: function mult(
v) {this.x *= v.x;this.y *= v.y;} }]);return Vector2;}();
// Setup
////////////////////////////////////
var setup = {
color: [0, 0, 255],
mousePosition: true,
size: 5,
sizeReduction: .2,
density: 20,
trailOpacity: 0.1,
gravity: .5,
velocityX: 5,
velocityY: 5,
maximumLife: 50,
probability: 3,
walls: true,
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0