站長(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)
        主站蜘蛛池模板: WWW国产精品内射老师| 国产精品视频网站你懂得| 久久精品亚洲日本波多野结衣| 四虎精品成人免费永久| 亚洲国产精品SSS在线观看AV| 国产精品主播一区二区| 国产精品18久久久久久vr| 亚洲欧美日韩国产精品专区 | 最新国产成人精品2024| 国产精品亚洲一区二区在线观看| 黑人精品videos亚洲人| 国产午夜精品久久久久免费视| 亚洲综合av永久无码精品一区二区| 国内精品久久久久久麻豆| 亚洲午夜精品一区二区| 精品国内片67194| 国产亚洲精品va在线| 国产精品露脸国语对白| 骚片AV蜜桃精品一区| 一本色道久久88综合日韩精品| 麻豆国产高清精品国在线| 精品无码久久久久久久久久| 国产精品成人无码久久久久久| 亚洲国产精品自在线一区二区 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 精品日韩亚洲AV无码| 亚洲人成精品久久久久| 亚洲精品无码鲁网中文电影| 日韩精品人妻av一区二区三区| 精品久久久久久国产三级| 精品日韩欧美国产| 久久99精品国产麻豆蜜芽| 久久无码精品一区二区三区| 久久久国产精品| 亚洲精品动漫免费二区| 亚洲av无码乱码国产精品fc2| 老司机67194精品线观看| 精品国产乱码久久久久久1区2区 | 久久精品国产精品亚洲下载| 日本精品视频在线观看| 亚洲国产精品成人久久蜜臀|