canvas实现米斯粒子箭头随机运动动画i效果代码

代码语言:html

所属分类:粒子

代码描述:canvas实现米斯粒子箭头随机运动动画i效果代码

代码标签: canvas 米斯 粒子 箭头 随机 运动 动画

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

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

<head>
 
<meta charset="UTF-8">
 

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

canvas
{
 
background: hsl(190, 25%, 7%);
}
</style>


 
</head>

<body>
 

     
<script >
"use strict";
const NUM_MICE = 100;
class Agent {
    constructor(type, pos, boundingBox) {
        this.type = type;
        this.pos = pos;
        this.boundingBox = boundingBox;
    }
}
class Mouse extends Agent {
    constructor(pos, boundingBox) {
        super('mouse', pos, boundingBox);
        this.color = `hsl(0, 0%, ${Math.random() * 100}%)`;
        this.target = pos;
        this.angle = 0;
        this.rotationSpeed = Math.random() * 0.5; // rotation speed in radians
        this.speed = Math.random() * 0.1; // speed of moving towards the target
    }
    update() {
        const distance = Math.hypot(this.target.x - this.pos.x, this.target.y - this.pos.y);
        if (distance < 1) {
            // new random target location
            this.target = {
                x: Math.random() * window.innerWidth,
                y: Math.random() * window.innerHeight
            };
        }
        else {
            // move to target with easing
            const dx = this.target.x - this.pos.x;
            const dy = this.target.y - this.pos.y;
           .........完整代码请登录后点击上方下载按钮下载查看

网友评论0