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

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

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

      和transformjs一起搖擺

      2016-11-28 13:06  【當耐特】  閱讀(2046)  評論(0)    收藏  舉報

      寫在前面

      記得以前facebook做過一款HTML5游戲。開場動畫是一塊軟體類似豆腐的東西一起搖擺。類似的效果如下面的gif所示:

      facebook當時使用的是createjs下的子項目easeljs和tweenjs去制作,基于Canvas的動畫。基本的原理主要是:循環(huán)運動Canvas抽象的DisplayObject的skewX和scaleY來實現(xiàn)軟體搖擺。
      目前來看transformjs也能做到,因為transformjs也能運動skewX和scaleY。先來看看facebook的方式。

      tweenjs + transformjs

      注意這里的tweenjs是createjs下的子項目,而不是github上的tween.js項目。

      var element = document.querySelector("#test");
      Transform(element);
      element.originY = 100;
      element.skewX = -20;
      
      var Tween = createjs.Tween,
          sineInOutEase = createjs.Ease.sineInOut;
      Tween.get(element, {loop: true}).to({scaleY: .8}, 450, sineInOutEase).to({scaleY: 1}, 450, sineInOutEase);
      Tween.get(element, {loop: true}).to({skewX: 20}, 900, sineInOutEase).to({skewX: -20}, 900, sineInOutEase);
      
      

      在線演示地址: http://alloyteam.github.io/AlloyTouch/transformjs/example/soft2.html
      上面的代碼很精簡。這里稍微解釋下:

      • 元素的初始skewX是-20,為了和scale的步調(diào)一致
      • 元素的originY是100,為的以企鵝的bottom center為基準點

      可以看到,由于transformjs高度抽象,可以和tweenjs輕松搭配使用,沒有任何壓力。

      AlloyFlow + transformjs

      可能上面的代碼不是很明白具體實現(xiàn)的流程?說實話,第一次看到上面的代碼也沒有一下看清晰流程。那么就使用AlloyFlow分解工作流的方式去實現(xiàn)同樣的效果。

      var element = document.querySelector("#test");
      Transform(element);
      element.originY = 100;
      element.skewX = -20;
      
      function sineInOut(a) {
          return 0.5 * (1 - Math.cos(Math.PI * a));
      }
      
      var alloyFlow = new AlloyFlow({
          workflow: [
              {
                  work: function () {
                      To.go(element, "scaleY", .8, 450, sineInOut);
                      To.go(element, "skewX", 20, 900, sineInOut)
                  },
                  start: 0
              }, {
                  work: function () {
                      To.go(element, "scaleY", 1, 450, sineInOut)
                  },
                  start: 450
              }, {
                  work: function () {
                      To.go(element, "scaleY", .8, 450, sineInOut);
                      To.go(element, "skewX", -20, 900, sineInOut)
                  },
                  start: 900
              }, {
                  work: function () {
                      To.go(element, "scaleY", 1, 450, sineInOut);
                  },
                  start: 1350
              }, {
                  work: function () {
                      this.start();
                  },
                  start: 1800
              }
          ]
      }).start();
      
      

      在線演示地址: http://alloyteam.github.io/AlloyTouch/transformjs/example/soft.html
      可以看到上面的workflow里面有一堆work按照start的時間依次序執(zhí)行,最后在1800ms的時候調(diào)用this.start()會回到起點重新開始運行。還需要解釋一下為什么選擇sineInOut的easing。可以來看看其緩動圖像:

      sineInOut速率是先慢后快再慢,剛好符合軟體自身約束作用力的模擬。
      那么,AlloyFlow是何方神器?且聽下回單獨開篇分解。

      開始transformjs之旅

      有很多童鞋問,transformjs還能做什么酷炫特效?怎么在官網(wǎng)看到的都是簡單的效果?
      其實transformjs他只是提供了基礎的transformation能力,不與時間、和運動庫耦合。可以和任意時間運動庫配合使用。所以怎么酷炫完全靠大家創(chuàng)意和想象力,搭配transformjs使用就對了。
      transformjs會計算出matrix3d賦給dom的 transform msTransform OTransform MozTransform webkitTransform,保證硬件加速和兼容性的同時,不丟失可編程性,點個贊....

      主頁:http://alloyteam.github.io/AlloyTouch/transformjs/
      Github :https://github.com/AlloyTeam/AlloyTouch/tree/master/transformjs

      主站蜘蛛池模板: 亚洲尤码不卡av麻豆| 国产精品天天看天天狠| 国产在线无码视频一区二区三区| 桦甸市| 国产午夜精品理论大片| 精品亚洲精品日韩精品| 中文字幕久久波多野结衣av| 免费看婬乱a欧美大片| 色综合久久夜色精品国产| 久热伊人精品国产中文| 五十路丰满中年熟女中出| 视频免费完整版在线播放| 人妻少妇精品久久| 中文字幕国产精品一二区| 日本一区二区三本视频在线观看| 欧美日本一区二区视频在线观看| 亚洲中文字幕aⅴ天堂| 九九热视频在线免费观看| 在线 欧美 中文 亚洲 精品| 日本免费最新高清不卡视频| 国产特色一区二区三区视频| 无码av最新无码av专区| 暖暖影院日本高清...免费| 又粗又硬又黄a级毛片| 国产精品中文一区二区| 亚洲男人综合久久综合天堂| 大胸少妇午夜三级| 高中女无套中出17p| 99er热精品视频| 国产精品三级一区二区三区| 丰满无码人妻热妇无码区| 色狠狠色婷婷丁香五月| 人妻熟妇乱又伦精品无码专区| 国语精品一区二区三区| 欧美精欧美乱码一二三四区| 长腿校花无力呻吟娇喘| 无码 人妻 在线 视频| 日韩av一区二区高清不卡| 四虎永久精品免费视频| 国产欧美一区二区三区免费视频| 人妻少妇精品视频专区|