canvas实现可交互粒子雨下落碰撞动画效果代码

代码语言:html

所属分类:粒子

代码描述:canvas实现可交互粒子雨下落碰撞动画效果代码

代码标签: canvas 交互 粒子 碰撞 动画

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

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

<head>

  <meta charset="UTF-8">

  
  
  
  
<style>
body, html {
  margin: 0;
}

canvas {
  display: block;
  overflow: hidden;
  cursor: pointer;
  touch-action: none;
}
</style>



</head>

<body  >
  <canvas id="canvas"></canvas>

  <script>
      /*
  Johan Karlsson
  https://github.com/DonKarlssonSan/vectory
  MIT License, see Details View

*/

"use strict";

class Vector {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  add(v) {
    return new Vector(
    this.x + v.x,
    this.y + v.y);
  }

  addTo(v) {
    this.x += v.x;
    this.y += v.y;
  }

  sub(v) {
    return new Vector(
    this.x - v.x,
    this.y - v.y);
  }

  subFrom(v) {
    this.x -= v.x;
    this.y -= v.y;
  }

  mult(n) {
    return new Vector(this.x * n, this.y * n);
  }

  multTo(n) {
    this.x *= n;
    this.y *= n;
    return this;
  }

  div(n) {
    return new Vector(this.x / n, this.y / n);
  }

  divTo(n) {
    this.x /= n;
    this.y /= n;
  }

  setAngle(angle) {
    var length = this.getLength();
    this.x = Math.cos(angle) * length;
    .........完整代码请登录后点击上方下载按钮下载查看

网友评论0