js实现点击重力炸弹爆炸动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现点击重力炸弹爆炸动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
* {
margin: 0;
padding: 0;
}
canvas {
display: block;
background: black;
box-sizing: border-box;
}
</style>
</head>
<body >
<canvas id="c"></canvas>
<script >
// The spacing equation came from here: https://math.stackexchange.com/questions/1039482/how-to-evenly-space-a-number-of-points-in-a-rectangle
// And yes, it was just as fun to code as it looks :P
const canvas = document.getElementById('c');
const ctx = canvas.getContext('2d');
const dotCount = 10000;
const size = 4;
const f = 3;
const dots = [];
const v = 128; // Center of color range
const l = 127; // Maximum color deviation
const rot = 80;
let w = 0;
let h = 0;
let cX = 0;
let cY = 0;
let mD = 0;
let mouseDown = false;
let nX = 0;
let nY = 0;
let sX = 0;
let sY = 0;
function resize() {
w = canvas.width = window.innerWidth;
h = canvas.height = window.innerHeight;
cX = w / 2;
cY = h / 2;
mD = Math.sqrt(cX * cX + cY * cY);
nX = Math.sqrt(w / h * dotCount + (w - h) * (w - h) / (4 * h * (4 * h))) - (w - h) / (2 * h);
nY = dotCount / nX;
sX = w / (nX - 1);
sY = h / (nY - 1);
for (let i = 0; i < dotCount; i++) {
//const x = Math.random() * w;
//const y = Math.random() * h;
const x = sX * (i % nX);
.........完整代码请登录后点击上方下载按钮下载查看
网友评论0