canvas鼠标悬停花丛中扒开放大交互效果代码

代码语言:html

所属分类:悬停

代码描述:canvas鼠标悬停花丛中扒开放大交互效果代码

代码标签: canvas 鼠标 悬停 花丛 扒开 放大 交互

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

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

<head>
  <meta charset="UTF-8">
  
  
  
<style>
/*
global
*/
*, *::before, *::after {
		margin: 0;
		padding: 0;
		border: 0;
		box-sizing: border-box;
}

*:focus {
		outline: none;
}

body {
		height: 100vh;
		background-color: rgb( 30, 60, 0 );
		overflow: hidden;
}

canvas {
		touch-action: none;
}
</style>

  
</head>

<body translate="no">
  
  
      <script >
'use strict';

//---

console.clear();

//---

let w = 0;
let h = 0;
let initialWidth = w;
let initialHeight = h;

let animationFrame = null;
let isTouchDevice = false;

const canvas = document.createElement('canvas');
const context = canvas.getContext('2d', { willReadFrequently: true, alpha: false });

let imageData = null;
let data = null;

const center = { x: w / 2, y: h / 2 };
const border = { left: 1, top: 1, right: w, bottom: h };

let pointerPos = { x: center.x, y: center.y };
let pointerDownButton = -1;
let pointerMoveTimeout;

const pointerMoveTimeoutTime = 2500;

//---

const dotColorR = 25;
const dotColorG = 155;
const dotColorB = 0;
const dotColorA = 255;
const dotsRadius = 4;
const dotsDistance = 10;
const dotDistanceInit = 10000000;
const dotsDiameter = dotsRadius * 2;
const dotsSpeed = 10;
const dotsWobbleFactor = 0.95;
const dotsWobbleSpeed = 0.05;
const dotsMaxEscapeRouteLengthBasis = 100;
let dotsMaxEscapeRouteLength = 100;
const dotsMouseDistanceSensitivitySpeed = 5;
const dotsMouseDistanceSensitivityMax = 250;
const dotsMouseDistanceSensitivityMinBasis = 100;
let dotsMouseDistanceSensitivityMin = 100;
let dotsMouseDistanceSensitivity = dotsMouseDistanceSensitivityMin;
let dotsHolder = [];
let dotsCount = 0;
const dotsMinPositionOffset = 0;
const dotsMaxPositionOffset = 10;

let introPath = [];
let introInterval = null;
let introIndex = 0;
let introPathCoordinatesCount = 256;
let introSpeedBasis = 10;
let introSpeed = introSpeedBasis;

let bloomBackgroundImage = null;
let bloomHolder = [];
const bloomColors = [

{
  petalColors: [
  { r: 215, g: 157, b: 0, a: 1.00 },
  { r: 250, g: 221, b: 5, a: 1.00 }],

  centerColors: [
  { r: 27, g: 9, b: 0, a: 1.00 },
  { r: 101, g: 32, b: 0, a: 1.00 },
  { r: 74, g: 26, b: 0, a: 1.00 }] },



{
  petalColors: [
  { r: 226, g: 209, b: 240, a: 1.00 },
  { r: 247, g: 107, b: 239, a: 1.00 }],

  centerColors: [
  { r: 157, g: 103, b: 19, a: 1.00 },
  { r: 123, g: 72, b: 12, a: 1.00 },
  { r: 33, g: 11, b: 11, a: 1.00 }] },



{
  petalColors: [
  { r: 193, g: 2, b: 16, a: 1.00 },
  { r: 247, .........完整代码请登录后点击上方下载按钮下载查看

网友评论0