<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      騰訊AlloyTeam正式發布Canvas魔幻線條 - curvejs

      2017-04-21 10:19  【當耐特】  閱讀(3458)  評論(6)    收藏  舉報

      【原文鏈接】

      寫在前面

      curvejs 中文讀["克js"],是騰訊AlloyTeam打造的一款魔幻線條框架,讓線條成為一名優秀的舞者,讓線條們成為優秀的舞團,HTML5 Canvas就是舞臺。

      官網:https://alloyteam.github.io/curvejs/

      你還記得window經典的屏幕保護程序《變幻線》嗎?

      其原理就是使用 Perlin-Noise + Particle System + Bézier Curve + Color Transition 制作而成。

      使用curvejs實現類似變幻線功能只需要不到10行代碼:

      const  { Stage, Curve, motion } = curvejs
      
      let stage = new Stage(document.getElementById('myCanvas'))
      
      stage.add(new Curve({
          color: '#00FF00',
          data: {value: 0, step: 0.008, width: 600, height: 400},
          motion: motion.noise
      }))
      

      【體驗地址】

      當然,curvejs的能力不僅僅是變換線,這完全取決于你的想象力。比如:

      使用指南

      $ npm install curvejs
      
      import curvejs from 'curvejs'
      

      也可以直接插入script到你的HTML頁面:

      <script src="https://unpkg.com/curvejs@0.2.0/dist/curve.min.js"></script>
      

      開始跳舞:

      var Stage = curvejs.Stage,
          Curve = curvejs.Curve,
          canvas = document.getElementById('myCanvas'),
          stage = new Stage(canvas),
          rd = function() {
           return -2 + Math.random() * 2
          }
      
      var curve = new Curve({
        color: '#00FF00',
        points: [277, 327, 230, 314, 236, 326, 257, 326],
        data: [rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd()],
        motion: function motion(points, data) {
            points.forEach(function (item, index) {
                points[index] += data[index]
            })
        }
      })
      
      stage.add(curve)
      
      function tick(){
        stage.update()
        requestAnimationFrame(tick)
      }
      
      tick()
      

      上面的points代表了三次貝塞爾曲線的4個點。motion代表運動方式,motion可以拿去到points和data。motion里函數的this指向Curve是實例curve。

      使用內置motion

      var curve = new Curve({
        points: [277, 327, 230, 314, 236, 326, 257, 326],
        data: {angle: 0, r:5 ,step:Math.PI / 50 }
        motion: curvejs.motion.dance
      })
      

      基本原理

      • 每次創建Curve 可以傳入八個數字,其實就代表上面的4個點的坐標
      • motion里可以拿到 points 進行自定義變幻
      • 幻影不需要開發者考慮,curvejs會自動生成幻影

      這里需要特別強調,curvejs的幻影不是利用canvas的黑色底,然后fillRect填充半透而產生,而是Particle System。所以curvejs制作出的效果不用一定是黑色背景,而且canvas也可以是透明,這就大大增加了適用場景。

      提交你的motion

      motion 目錄, 有許多內置的motion提供給開發者使用,但是你也可以提交你的motion到這個項目,我會第一時間review并合入主干。

      基本motion格式規則:

      /**
       * motion description.
       *
       * @param {points}
       * @param {data}
       *      data rule example:
       *      [1, 0.2, -3, 0.7, 0.5, 0.3, -1, 1]
       */
      export default function (points, data) {
          //你的motion邏輯
      }
      

      curvejs相關

      主站蜘蛛池模板: 插入中文字幕在线一区二区三区| 亚洲精品麻豆一区二区| 日韩最新中文字幕| 吴旗县| 香蕉久久夜色精品国产成人| 国产偷国产偷亚洲高清人| 在线观看AV永久免费| 少妇人妻偷人精品系列| 亚洲av中文乱码一区二| 在线中文字幕国产精品| 新版资源天堂中文| 性欧美暴力猛交69hd| 日本免费最新高清不卡视频| 石城县| 国产成人精品无码专区| 亚洲一区二区三区| 少妇人妻偷人偷人精品| 色悠久久网国产精品99| 2022最新国产在线不卡a| 国产精品黄色片| 精品人妻少妇嫩草av专区| 人成午夜大片免费视频77777 | 亚洲熟女精品一区二区| 洪湖市| 四虎影视库国产精品一区| 2019久久久高清日本道| 国产成人精品中文字幕| 成人性无码专区免费视频| 亚洲日产韩国一二三四区| 亚洲天堂av免费在线看| 亚洲精品一区二区麻豆| 动漫av网站免费观看| 国产无遮挡猛进猛出免费软件| 久久精品国产再热青青青| 无码人妻丝袜在线视频| a级免费视频| 日本另类αv欧美另类aⅴ| 超清无码一区二区三区| 久在线视频播放免费视频| 久久精品国产www456c0m| 国产成人免费ā片在线观看|