p5实现一个粒子旋涡旋转动画效果代码
代码语言:html
所属分类:粒子
代码描述:p5实现一个粒子旋涡旋转动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { background: linear-gradient(to bottom, #ccc, #999); height: 100vh; } .canvas { border-radius: 4px; box-shadow: 0 16px 20px -8px rgba(0, 0, 0, 0.9); height: 500px; left: 50%; position: absolute; top: 50%; transform: translateX(-50%) translateY(-50%); width: 500px; } .info { bottom: 0; background: rgba(0, 0, 0, 0.65); border-top-right-radius: 4px; color: white; font-family: monospace; font-size: 16px; font-style: italic; left: 0; padding: 4px 8px; position: fixed; } </style> </head> <body> <p class="info">sketch::vortex </p> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/p5.1.4.0.js"></script> <script> const canvasSize = 500 const center = .5 * canvasSize const particleCount = 1000 const hueBase = 10 const hueRange = 40 const fadeInOut = (t, m) => { let hm = 0.5 * m return abs((t + hm) % m - hm) / hm } const angle = (x1, y1, x2, y2) => atan2(y2 - y1, x2 - x1) let buffer let particles let dOffset let dOffset2 class AttributeArray { constructor(count, attrs) { this.count = count this.attrs = attrs this.spread = attrs.length this.values = new Float32Array(count * this.spread) } get length() { ret.........完整代码请登录后点击上方下载按钮下载查看
网友评论0