canvas模拟蒲公英吹散种子粒子动画效果代码

代码语言:html

所属分类:粒子

代码描述:canvas模拟蒲公英吹散种子粒子动画效果代码

代码标签: canvas 模拟 蒲公英 吹散 种子 粒子 动画

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

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

<head>

    <meta charset="UTF-8">




    <style>
        body {
          background: #64b5f6;
          overflow: hidden;
        }
        
        .seed-wrapper {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: 10;
        }
        
        #s {
          bottom: 0;
          height: 100%;
          left: 0;
          position: absolute;
          right: 0;
          top: 0;
          width: 100%;
        }
        
        .center {
          display: block;
          margin: 0 auto;
          text-align: center;
          width: 100%;
        }
        
        .dandelion {
          background: #305b14;
          border-bottom-left-radius: 50px;
          border-bottom-right-radius: 50px;
          height: 100%;
          margin: 0 auto;
          width: 5px;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translateX(-50%);
        }
        
        #r {
          filter: contrast(75%) brightness(200%);
        }
        
        .seed {
          background: #fdfda0;
          border-radius: 100%;
          display: block;
          filter: blur(10px) brightness(150%);
          height: 300px;
          left: 50%;
          position: absolute;
          top: 50%;
          transform: translate(-50%, -50%);
          width: 300px;
          z-index: 1;
        }
    </style>



</head>

<body>
    <div class="center">
        <div class="seed-wrapper">
            <canvas class="seed" id="c"></canvas>
            <canvas id="r"></canvas>
        </div>
        <div class="dandelion"></div>
    </div>


    <script>
        var blow,
        r_canvas,
        r_ctx,
        r_height,
        b,
        b_seed = {
          maxSeedCount: 500,
          seedCount: 0,
          seedFreq: 1,
          seeds: [] },
        
        r_seed = {
          maxSeedCount: 500,
          seedCount: 0,
          seedFreq: 5,
          seeds: [] },
        
        r_makeSeed = false,
        r_width,
        r_originx,
        r_originy,
        s_canvas,
        s_ctx,
        s_maxSeedCount = 5,
        s_seedCount = 0,
        s_seeds = [],
        s_height,
        s_width,
        i,
        j = 0,
        seed,
        SeedType = {
          BLOW: 0,
          RANDOM: 1,
          STATIC: 2 },
        
        seed_h,
        seed_w,
        pi = Math.PI,
        twoPi = pi * 2,
        halfPi = pi / 2,
        mouseMove = false,
        b_velocity = 1;
        
        function clear(ctx, width, height) {
          ctx.clearRect(0, 0, width, height);
        }
        
        function rand(min, max) {
          min = Math.ceil(min);
          max = Math.floor(max);
          return Math.floor(Math.random() * (max - min)) + min;
        }
        
        function randInt(min, max) {
          return Math.random() * (max - min) + min;
        }
        
        function negRand(min, max) {
          return Math.floor(Math.random() * max - min);
        }.........完整代码请登录后点击上方下载按钮下载查看

网友评论0