canvas实现文字变成沙粒交互动画效果代码
代码语言:html
所属分类:动画
代码描述:canvas实现文字变成沙粒交互动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <link href="https://fonts.googleapis.com/css?family=Medula+One" rel="stylesheet"> <style> body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #f0f0f0; overflow: hidden; } .container { position: relative; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } h1 { font-size: 8rem; text-align: center; color: #333; text-transform: uppercase; position: absolute; z-index: 0; transition: opacity 0.5s ease; font-weight: 900; padding: 1.5rem 0; } canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; } .hidden { opacity: 0; } </style> </head> <body> <div class="container"> <h1 id="text">BFW.WIKI</h1> <canvas id="canvas"></canvas> </div> <script > document.addEventListener('DOMContentLoaded', () => { // Get elements const text = document.getElementById('text'); const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d', { alpha: true }); // Set canvas dimensions canvas.width = window.innerWidth; canvas.height = window.innerHeight; // Configuration options const config = { particleDensity: 3, // Lower = more particles particleSizeMultiplier: 1 / 20, // Adjust particle size relative to font gravity: 0.15, friction: 0.95, bounce: 0.6, returnSpeed: 0.05, colorVariation: 15, // Random color variation initialCycleDelay: 2000, // Initial delay before animation starts fallingDuration: 5000, // How long particles fall returnDuration: 800, // How long particles return restDuration: 2000, // Rest time between cycles canInteract: true, // Allow interaction with the mouse interactiveForce: 5, // Force applied by mouse inte.........完整代码请登录后点击上方下载按钮下载查看
网友评论0