p5实现包容的爱心跳动动画表白效果代码

代码语言:html

所属分类:表白

代码描述:p5实现包容的爱心跳动动画表白效果代码

代码标签: p5 爱心 跳动

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

<!DOCTYPE html>
<html lang="en" >

<head>

  <meta charset="UTF-8">

  
  
  
  
<style>
html,
body {
  margin: 0;
  padding: 0;
  cursor: none;
}
canvas {
  display: block;
}
</style>


</head>

<body  >
  
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/p5.1.4.0.js"></script>
      <script >
let particles = [],
  heart = [],
  heartWithGap = [],
  a = 0,
  s = 1,
  R;
const colors = ["#ffbe0b", "#fb5607", "#ff006e", "#8338ec", "#3a86ff"],
  easing = 0.032,
  num = 640;

class NoiseLoop {
  constructor(d, min, max) {
    this.d = d;
    this.min = min;
    this.max = max;
    this.cx = random(320);
    this.cy = random(320);
  }

  value(a) {
    let xoff = map(cos(a), -1, 1, this.cx, this.cx + this.d);
    let yoff = map(sin(a), -1, 1, this.cy, this.cy + this.d);
    let r = noise(xoff, yoff);
    return map(r, 0, 1, this.min, this.max);
  }
}

class Particle {
  constructor(c) {
    this.x = random(0, width);
    this.y = random(0, height);

    while (this.inside()) {
      this.x = random(0, width);
      this.y = random(0, height);
    }

    this.c = c;

    this.homeX = this.x;
    this.homeY = this.y;

    this.xNoise = new NoiseLoop(0.32, -width, width * 2);
    this.yNoise = new NoiseLoop(0.32, -height, height * 2);
    this.rNoise = new NoiseLoop(3.2, 8, 64);

    this.r = this.rNoise.value(0);

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

网友评论0