canvas实现跟随鼠标移动的海洋多足生物交互动画效果代码

代码语言:html

所属分类:动画

代码描述:canvas实现跟随鼠标移动的海洋多足生物交互动画效果代码

代码标签: canvas 跟随 鼠标 移动 海洋 多足 生物 交互 动画

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

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

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

  
<style>
body {
	margin: 0;
	overflow: hidden;
	background: #000;
	font-family: 'Courier New', monospace;
}
canvas {
	display: block;
}
</style>


  
</head>

<body translate="no">
  <canvas id="canvas"></canvas>
  
    <script >
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

canvas.width = window.innerWidth;
canvas.height = window.innerHeight;

ctx.imageSmoothingEnabled = true;
ctx.imageSmoothingQuality = 'high';

const channel = new BroadcastChannel("alien-core");

let isMainWindow = document.hasFocus();
let windowId = Math.random().toString(36).substr(2, 9);
let lastMoveTime = Date.now();

window.addEventListener("focus", () => {
  isMainWindow = true;
  channel.postMessage({
    type: "window-focus",
    id: windowId,
    timestamp: Date.now() });

});

window.addEventListener("blur", () => {
  isMainWindow = false;
});

const localCore = {
  x: canvas.width / 2,
  y: canvas.height / 2,
  radius: 40,
  vx: 0,
  vy: 0,
  energyBoost: 0 };


let targetX = localCore.x;
let targetY = localCore.y;

const remoteCores = new Map();
const detachedElements = [];

let passEffect = {
  isActive: false,
  progress: 0,
  direction: 1,
  startTime: 0,
  duration: 2000 };


let energyBridge = {
  isActive: false,
  progress: 0,
  startTime: 0,
  duration: 3000,
  particles: [] };


class Tentacle {
  construc.........完整代码请登录后点击上方下载按钮下载查看

网友评论0