sketch实现宇宙绚丽流星旋转效果
代码语言:html
所属分类:动画
代码描述:sketch实现宇宙绚丽流星旋转效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<style type="text/css">
body {
background: #000;
}
canvas {
display: block;
}
#gui {
left: 0;
position: fixed;
top: 0;
}
</style>
<!--[if IE]>
<script src="http://libs.baidu.com/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
</head>
<body>
<div class="htmleaf-container">
<div id="gui"></div>
</div>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/dat.gui-min.js"></script>
<script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/sketch.min.js"></script>
<script>
var sketch = Sketch.create(), center = {
x: sketch.width / 2,
y: sketch.height / 2
}, orbs = [], dt = 1, opt = {
total: 0,
count: 100,
spacing: 2,
speed: 65,
scale: 1,
jitterRadius: 0,
jitterHue: 0,
clearAlpha: 10,
toggleOrbitals: true,
orbitalAlpha: 100,
toggleLight: true,
lightAlpha: 5,
clear: function () {
sketch.clearRect(0, 0, sketch.width, sketch.height),
orbs.length = 0;
}
};
var Orb = function (x, y) {
var dx = x / opt.scale - center.x / opt.scale,
dy = y / opt.scale - center.y / opt.scale;
this.angle = atan2(dy, dx);
this.lastAngle = this.angle;
this.radius = sqrt(dx * dx + dy * dy);
this.size = this.radius / 300 + 1;
this.speed = random(1, 10) / 300000 * this.radius + 0.015;
};
Orb.prototype.update = function () {
this.lastAngle = this.angle;
this.angle += this.speed * (opt.speed / 50) * dt;
this.x = this.radius * cos(this.angle);
this.y = this..........完整代码请登录后点击上方下载按钮下载查看
网友评论0