返回:Timeline
一個新的時間軸實例,包含根補間和時間軸
一、細節
從根時間軸無縫地將所有的補間、時間軸和[可選的]延遲調用轉移到新的時間軸,這樣您就可以在全局基礎上執行高級任務,而不會影響導出后創建的補間/時間軸。
例如,想象一款游戲使用GSAP進行所有動畫,在游戲過程中的某個時刻,你想要將所有內容放慢到停止(動畫timeScale),同時動畫地彈出一個新的窗口:
var tl = gsap.exportRoot();
gsap.to(tl, {duration: 0.5, timeScale: 0});
//這個補間不會受到影響,因為它是在導出之后創建的。
gsap.fromTo(myWindow, {scaleX: 0, scaleY: 0}, {duration: 1, scaleX: 1, scaleY: 1});
然后,當你準備好將timeScale調回1時,你可以重新制作動畫。或者,您可以使用exportRoot()來收集所有動畫并pause()它們,然后對彈出屏幕(或其他)進行動畫處理。然后resume()該實例,甚至reverse()。
您可以根據需要多次exportRoot();它所做的就是將所有松散的補間、時間線和delayedCalls包裝到一個時間軸中,而這個時間軸本身被放置在根目錄上,所以如果你再次exportRoot(),這個時間軸將被包裝到另一個時間軸中,等等。東西可以嵌套到你想要的深度。
注意:完成的補間和時間線將從globalTimeline中刪除(用于自動垃圾收集),因此如果在特定補間完成后exportRoot(),它將不會包含在導出中。