站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        canvas波浪效果的實(shí)現(xiàn)代碼

        本篇文章給大家?guī)?lái)的內(nèi)容是關(guān)于canvas波浪效果的實(shí)現(xiàn)代碼,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

        基于canvas的三次貝塞爾曲線(bezierCurveTo)

        <canvas id="myCanvas"></canvas>  <script>     var WAVE_HEIGHT = 200 //波浪變化高度     var SCALE = 0.5 // 繪制速率     var CYCLE = 360 / SCALE     var TIME = 0      function initCanvas() {         var c = document.getElementById("myCanvas")         var width = window.screen.width         var height = window.screen.height          var ctx = c.getContext("2d")         c.width = width         c.height = height          // start         window.requestAnimationFrame(function() {             draw(ctx, width, height)         })     }      function draw(ctx, width, height) {         ctx.clearRect(0, 0, width, height)          TIME = (TIME + 1) % CYCLE         var angle = SCALE * TIME // 當(dāng)前正弦角度         var dAngle = 60 // 兩個(gè)波峰相差的角度          ctx.beginPath()         ctx.moveTo(0, height * 0.5 + distance(WAVE_HEIGHT, angle, 0))         ctx.bezierCurveTo(             width * 0.4,             height * 0.5 + distance(WAVE_HEIGHT, angle, dAngle),             width * 0.6,             height * 0.5 + distance(WAVE_HEIGHT, angle, 2 * dAngle),             width,             height * 0.5 + distance(WAVE_HEIGHT, angle, 3 * dAngle)         )         ctx.strokeStyle = "#ff0000"         ctx.stroke()          ctx.beginPath()         ctx.moveTo(0, height * 0.5 + distance(WAVE_HEIGHT, angle, -30))         ctx.bezierCurveTo(             width * 0.3,             height * 0.5 + distance(WAVE_HEIGHT, angle, dAngle - 30),             width * 0.7,             height * 0.5 + distance(WAVE_HEIGHT, angle, 2 * dAngle - 30),             width,             height * 0.5 + distance(WAVE_HEIGHT, angle, 3 * dAngle - 30)         )         ctx.strokeStyle = "#0000ff"         ctx.stroke()          function distance(height, currAngle, diffAngle) {             return height * Math.cos((((currAngle - diffAngle) % 360) * Math.PI) / 180)         }          // animate         window.requestAnimationFrame(function() {             draw(ctx, width, height)         })     }      initCanvas() </script>

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 精品久久久久久| 国产精品成人啪精品视频免费| 国产成人精品天堂| 婷婷成人国产精品| 精品在线免费观看| 日本内射精品一区二区视频 | 国产精品毛片一区二区| 久久精品国产亚洲AV麻豆网站| 久久国产精品一区| 91久久福利国产成人精品| 成人精品视频99在线观看免费| 夜夜爽一区二区三区精品| 精品国产黑色丝袜高跟鞋| 一本久久a久久精品综合夜夜| 国99精品无码一区二区三区| 一区二区国产精品 | 亚洲精品中文字幕无码蜜桃| 国产综合精品蜜芽| 午夜精品久视频在线观看| jizz国产精品网站| 老司机午夜精品视频资源| 曰韩精品无码一区二区三区 | 精品国产污污免费网站入口| 91精品国产色综久久| 精品一区二区久久| 国产成人精品亚洲日本在线| 久久精品国产亚洲AV香蕉| 日韩精品中文字幕无码一区| 亚洲精品乱码久久久久久自慰 | 精品黑人一区二区三区| 亚洲av无码乱码国产精品fc2 | 亚洲中文久久精品无码ww16 | 国产精品无码一区二区三级| 无码国内精品久久人妻| 亚洲精品乱码久久久久久久久久久久 | 亚洲国产精品一区二区九九| 日本Aⅴ大伊香蕉精品视频| 久久久久九国产精品| 四虎永久在线精品国产馆V视影院| 久久99精品九九九久久婷婷| 久久精品国产亚洲一区二区三区|