js实现canvas彩色正方形框体穿越粒子动画效果代码

代码语言:html

所属分类:粒子

代码描述:js实现canvas彩色正方形框体穿越粒子动画效果代码

代码标签: 彩色 正方形 框体 穿越 粒子 动画 效果

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

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/reset.min.css">

</head>
<body>
    <canvas id="canvas" height="600"></canvas>
    <script type="text/javascript">
        function project3D(x, y, z, vars) {

            var p,
            d;
            x -= vars.camX;
            y -= vars.camY;
            z -= vars.camZ;
            p = Math.atan2(x, z);
            d = Math.sqrt(x*x+z*z);
            x = Math.sin(p-vars.yaw)*d;
            z = Math.cos(p-vars.yaw)*d;
            p = Math.atan2(y, z);
            d = Math.sqrt(y*y+z*z);
            y = Math.sin(p-vars.pitch)*d;
            z = Math.cos(p-vars.pitch)*d;
            p = Math.atan2(x, y);
            d = Math.sqrt(x*x+y*y);
            x = Math.sin(p-vars.roll)*d;
            y = Math.cos(p-vars.roll)*d;
            return {
                x: vars.cx+x/z*vars.scale,
                y: vars.cy+y/z*vars.scale,
                d: z > 0?Math.sqrt(x*x+y*y+z*z): -1
            }
        }

        function rgb(col) {

            col += 0.000001;
            var r = parseInt((0.5+Math.sin(col)*0.5)*16);
            var g = parseInt((0.5+Math.cos(col)*0.5)*16);
            var b = parseInt((0.5-Math.sin(col)*0.5)*16);
            return "#"+r.toString(16)+g.toString(16)+b.toString(16);
        }

        function process(vars) {

            vars.........完整代码请登录后点击上方下载按钮下载查看

网友评论0