canvas+webgl实现文字水波纹鼠标交互波动动画效果代码

代码语言:html

所属分类:动画

代码描述:canvas+webgl实现文字水波纹鼠标交互波动动画效果代码

代码标签: canvas webgl 文字 水波纹 鼠标 交互 波动 动画

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

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

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

  
  
  
<style>
html,body {
	height: 100%;
	margin: 0;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: Arial,sans-serif
}
canvas{
	max-width: 100%;
	height: auto;
	display: block;
	cursor: pointer;
	transition: transform 0.3s ease
}
canvas:hover {  				     
	transform:scale(1.05); 
}
</style>


</head>

<body translate="no">
  <div class="container">
	<canvas id="glcanvas" width="1000" height="400"></canvas>
</div>
  
    <script >
const canvas = document.getElementById('glcanvas');
const gl = canvas.getContext('webgl');
if (!gl) {alert('WebGL no soportado');}

let mouseX = 0;
let mouseY = 0;
let isHovering = false;

// Variables para el efecto hover
canvas.addEventListener('mousemove', e => {
  const rect = canvas.getBoundingClientRect();
  mouseX = (e.clientX - rect.left) / rect.width;
  mouseY = 1.0 - (e.clientY - rect.top) / rect.height; // Invertir Y
  isHovering = true;
});

canvas.addEventListener('mouseleave', () => {
  isHovering = false;
});

function compileShader(src, type) {
  const s = gl.createShader(type);
  gl.shaderSource(s.........完整代码请登录后点击上方下载按钮下载查看

网友评论0