canvas+SmallPRNG.js实现随机颜色粒子流流动动画效果代码

代码语言:html

所属分类:粒子

代码描述:canvas+SmallPRNG.js实现随机颜色粒子流流动动画效果代码

代码标签: canvas SmallPRNG.js 随机 颜色 粒子 流动 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
<style>
body,html{margin:0;padding:0}body canvas{display:block;cursor:crosshair}
</style>
</head>

<body>
<canvas id="swarm"></canvas>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/SmallPRNG.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/codepen-utilities.min.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/Stats-16.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/dat.gui-min.js"></script>
    <script >
+(function(a) {
    var c = function c(d, e, f) {
            this.set(d, e, f)
        },
        b = c.prototype;
    b.dot2d = function(d, e) {
        return ((this.x * d) + (this.y * e))
    };
    b.dot3d = function(d, e, f) {
        return ((this.x * d) + (this.y * e) + (this.z * f))
    };
    b.set = function(d, e, f) {
        this.x = d;
        this.y = e;
        this.z = f;
        return this
    };
    b.add = function(d) {
        if (typeof d === "number") {
            this.x += d, this.y += d, this.z += d;
            return this
        }
        this.x += d.x, this.y += d.y, this.z += d.z;
        return this
    };
    b.sub = function(d) {
        if (typeof d === "number") {
            this.x -= d, this.y -= d, this.z -= d;
            return this
        }
        this.x -= d.x, this.y -= d.y, this.z -= d.z;
        return this
    };
    b.mul = function(d) {
        if (typeof d === "number") {
            this.x *= d, this.y *= d, this.z *= d;
            return this
        }
        this.x *= d.x, this.y *= d.y, this.z *= d.z;
        return this
    };
    b.div = function(d) {
        if (typeof d === "number") {
            this.x /= d, this.y /= d, this.z /= d;
            return this
        }
        this.x /= d.x, this.y /= d.y, this.z /= d.z;
        return this
    };
    b.move = function(d) {
        if (d instanceof c) {
            d.x = this.x, d.y = this.y, d.z = this.z
        }
        return this
    };
    b.within2d = function(d) {
        return (this.x >= 0 && this.x < d.x && this.y >= 0 && this.y < d.y)
    };
    b.wrap2d = function(d) {
        if (.........完整代码请登录后点击上方下载按钮下载查看

网友评论0