canavs黄色方块线条运动背景动画效果代码

代码语言:html

所属分类:动画

代码描述:canavs黄色方块线条运动背景动画效果代码

代码标签: canavs 黄色 方块 线条 运动 背景 动画

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

<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
    html
, body {
 
height: 100%;
 
overflow: hidden;
}

canvas
{
 
height: 100%;
 
left: 0;
 
position: fixed;
 
top: 0;
 
width: 100%;
}
</style>

</head>
<body>

<canvas></canvas>

<script >
    console.clear();

const canvas = document.querySelector("canvas");
const context = canvas.getContext("2d");
canvas.height = window.innerHeight * 2;
canvas.width = window.innerWidth * 2;

const deg = 13;
const thetaA = Math.PI * (360 - deg) / 180.0;
const thetaB = Math.PI * deg / 180.0;
const cosA = Math.cos(thetaA);
const sinA = Math.sin(thetaA);
const cosB = Math.cos(thetaB);
const sinB = Math.sin(thetaB);

class Pane {
  constructor() {
    this.direction = Streak.generateDirection();
    this.speed = Streak.generateSpeed();
    this.radiusA = Streak.generateRadius();
    this.radiusB = Streak.generateRadius();
    this.y1 = Streak.generateY();
    this.x1 = this.direction === 1 ? -canvas.width : canvas.width;
    this.cosA = this.direction === 1 ? cosA : cosB;
    this.sinA = this.direction === 1 ? sinA : sinB;
    this.cosB = this.direction === 1 ? cosB : cosA;
    this.sinB = this.direction === 1 ? sinB : sinA;
  }

  tick() {
    const cos = this.speed * this.cosA;
    const sin = this.speed * this.sinA;
    this.x1 = this.x1 + (this.direction * cos);
    this.y1 = this.y1 + (this.direction * sin);
    this.x2 = this.x1 + this.radiusA * this.cosA;
    this.y2 = this.y1 + this.radiusA * this.sinA;
    this.x3 = this.x1 + this.radiusB * this.cosB;
    this.y3 = this.y1 + this.radiusB * this.sinB;
    this.x4 = this.x2 + this.radiusB * this.cosB;
    this.y4 = this.y2 + this.radiusB * this.sinB;
    this.speed = Math.pow(this.speed, 1.0025);
    return this.isOffscreen();
  }
 
  isOffscreen() {
    if (this.direc.........完整代码请登录后点击上方下载按钮下载查看

网友评论0