vue使用tweenjs

導(dǎo)入:

v3:

v2:

npm install --save @tweenjs/tween.js

創(chuàng)建:

創(chuàng)建tween.js放入plugins目錄中

import TWEEN from '@tweenjs/tween.js'

export default{
  install:function(Vue){
    Vue.prototype.$tween = this;
    Vue.prototype.$tweener = TWEEN;
  },
  pause:function(tw){
    tw.pause();
  },
  fade:function(target,to,during,delay,easing,onUpdate,onComplete){
    if(!target || !to){
      return;
    }
    if(during==null){
      during = 260;
    }
    let tw = new TWEEN.Tween(target).to(to,during);
    if(delay) tw.delay(delay);
    tw.easing(easing || TWEEN.Easing.Linear.None)
    if(onUpdate) tw.onUpdate(onUpdate);
    if(onComplete) tw.onComplete(onComplete);
    tw.start();
    return tw;
  },
}

調(diào)用:

/**緩動(dòng) */
import tween from "./plugins/tween";
Vue.use(tween);

//new Vue中需要添加動(dòng)畫刷新:
mounted(){
    this.tweenUpdate();
  },
methods:{
    tweenUpdate(){
      requestAnimationFrame(this.tweenUpdate);
      this.$tweener.update();
    },
},

使用:

在任何事件調(diào)用即可中直接使用

onTestClick() {
      this.$tween.fade(this,{testValue:10000},60000);
},

效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容