Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
css
* { margin:0; padding:0; } html, body { width:100%; height:100%; overflow: hidden; background:black;} canvas { display:block; } #controls { z-index: 2; margin: 20px; position: absolute; top: 0; left: 0; color: white; }
JavaScript
class Rect{ constructor(x, y, w, h, a){ this.x = x; this.y = y; this.w = w; this.h = h; this.a = a; let theta = random(TAU); this.dx = cos(theta)*random(); this.dy = sin(theta)*random(); this.hue = random(); this.n = floor(random(5, 10)); this.type = floor(random(0, 3)); } update(buffer){ this.x += this.dx; this.y += this.dy; if (this.x < 0 || this.x > buffer.width ) this.dx *= -1; if (this.y < 0 || this.y > buffer.height) this.dy *= -1; } render(buffer){ buffer.push(); buffer.translate(this.x, this.y); buffer.rotate(this.a); buffer.stroke(this.hue, 1, 1); buffer.fill(0); if (this.type == 0){ for (let i = 0; i < this.n; i++){ let amt = i/this.n; buffer.line(amt*this.w, 0, amt*this.w, this.h); } } if (this.type == 1){ buffer.ellipse(0, 0, this.w); } if (this.type == 2){ buffer.noFill(); buffer.triangle(0, -this.h/2, this.w/2, this.h/2, -this.w/2, this.h/2); } buffer.pop(); } } function setup (){ pixelDensity(1); createCanvas(); colorMode(HSB, 1, 1, 1); windowResized(); } let rects = []; let buffer, divs; let init = () => { let s = (width*height)/(814*814); rects = []; for (let i = 0; i < 150; i++){ rects.push(new Rect( random(width), random(height), random(40*s, 100*s), random(40*s, 100*s), random(TAU) )) } divs = floor(random(4, 12))*2; let w = Math.hypot(width, height)/2; let a = TAU/divs; let h = w*tan(a); buffer = createGraphics(w, h); buffer.colorMode(HSB, 1, 1, 1); } function draw(){ background(0, .1); buffer.clear(); rects.forEach(r => { r.update(buffer); r.render(buffer); }); // buffer.background(1); buffer.fill(0); buffer.noStroke(); buffer.triangle(0, 0, 0, buffer.height, buffer.width, buffer.height); push(); translate(width/2, height/2); blendMode(ADD); for (let i = 0; i < divs; i++){ push(); let n = i; if ((divs/2)%2 == 0) n += i%2; rotate(n*TAU/divs); if (i%2 == 1) scale(-1, 1); image(buffer, 0, 0); pop(); } pop(); } function mousePressed(){ init(); } function windowResized(){ resizeCanvas(windowWidth, windowHeight); init(); }
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>p5.js复古风动画-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号