canvas 多彩多形状雪花下雪动画效果代码

代码语言:html

所属分类:动画

代码描述:canvas 多彩多形状雪花下雪动画效果代码

代码标签: canvas 下雪 雪花

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

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

<head>

   
<meta charset="UTF-8">




   
<style>
       
#canvas1 {              
                               
position:absolute;
                               
top: 0;
                               
left: 0;
                       
}
                       
#animationCanvas {              
                               
position:absolute;
                               
top: 0;
                               
left: 0;
                               
background: black;
                       
}
   
</style>




</head>

<body>
   
<canvas id='animationCanvas'></canvas>
   
<canvas id='canvas1'></canvas>


   
<script>
        window.addEventListener('load', function(){
            const canvas = document.getElementById('canvas1');
            const ctx = canvas.getContext('2d');
            canvas.width = window.innerWidth;
            canvas.height = window.innerHeight;
       
                const animationCanvas = document.getElementById('animationCanvas');
            const animationCtx = animationCanvas.getContext('2d');
            animationCanvas.width = window.innerWidth;
            animationCanvas.height = window.innerHeight;
       
            ctx.lineCap = 'round';
            ctx.shadowColor = 'black';
            ctx.shadowOffsetX = 20;
            ctx.shadowOffsetY = 20;
            ctx.shadowBlur = 10;
       
            class Fractal {
                #ctx;
                #width;
                #height;
                constructor(ctx, width, height){
                    this.#ctx = ctx;
                    this.#width = width;
                    this.#height = height;
                    this.size = this.#width < this.#height ? this.#width * 0.4 : this.#height * 0.4;
                    this.maxLevel = 3;
                    this.branches = 5;
       
                    this.sides = Math.floor(Math.random() * 7 + 4);
                    this.scale = Math.random() * 0.2 + 0.2;
                    this.spread = Math.random() * Math.PI;
                    this.color = 'hsl(' + Math.random() * 360 + ', 100%, 50%)';
                    this.lineWidth = Math.random() * 20 + 10;
                }
                #drawLine(level){
                    if (level > this.maxLevel) return;
                    this.#ctx.strokeStyle = this.color;
                    this.#ctx.beginPath();
                    this.#ctx.moveTo(0, 0);
     .........完整代码请登录后点击上方下载按钮下载查看

网友评论0