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

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

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

基于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 // 當前正弦角度         var dAngle = 60 // 兩個波峰相差的角度          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號-2    滬公網(wǎng)安備31011702889846號
无码人妻精品一区二区三区不卡| 国产成人精品视频播放| 欧美日韩视费观看视频| 无码精品A∨在线观看无广告| 国产精品久久亚洲不卡动漫| 久久久这里有精品999| 国产伦精品一区二区三区无广告| 2021国产精品午夜久久| 久久久久久九九99精品| 久久国产精品久久久| 99久久精品国内| 九九精品在线视频| 亚洲福利精品一区二区三区| 亚洲精品日韩一区二区小说| 国产精品国产三级国产普通话a | 精品女同一区二区| 日韩一区二区三区在线观看| 国产日韩精品一区二区在线观看播放| 成人精品视频一区二区三区尤物| 国产精品久久久久久久人人看| 日本国产成人精品视频| 18精品久久久无码午夜福利| 99久久99久久免费精品小说| 亚洲av日韩av天堂影片精品| 精品国产日产一区二区三区 | 国产亚洲精品VA片在线播放| 精品福利视频一区二区三区| 91国内揄拍国内精品对白| 99精品中文字幕| 97久久人人超碰国产精品| 99久久国产综合精品1尤物| 日韩精品无码AV成人观看| 亚洲综合精品一二三区在线| 一本一道久久精品综合| 日产精品久久久一区二区| 蜜国产精品jk白丝AV网站| 精品亚洲麻豆1区2区3区| 67194老司机精品午夜| 91亚洲国产成人精品下载 | 国产日韩久久久精品影院首页 | 日韩在线视频导航|