頁面中多次使用TWEEN.update()的坑

頁面中多次使用TWEEN.update()的坑

tween.js就不再介紹了。這次只關心這個update()方法。

tween.js中文文檔: https://github.com/tweenjs/tween.js/blob/master/README_zh-CN.md

function animate() {
    requestAnimationFrame(animate);
    TWEEN.update();
}

這個update方法是全局的,如果頁面中多個canvas的,多個三維場景都使用了tween,就會出現了多個update方法。會更新多次,導致動畫結果異常。搞不懂,tween爲什麼會有這種設計,整個window中就一個TWEEN。
之前每個組件都用到tween動畫,然後放在一個頁面組成大屏。開發了好久才遇到這個bug,真的很難受。
研究了一下發現可以用組來解決這個問題new TWEEN.Group();,在每個組件中都新建一個組,然後把動畫都加載到這個組中,更新的時候就只更新組,tweenGroup.update()。禁止頁面中出現TWEEN.update()。
tween.js做差值動畫已經習慣,看看有沒有其他的合適的替代品。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章