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