今回はTweenMaxのstatic関数のpauseAllとresumeAllをご紹介します。
●TweenMax.pauseAll
TweenMaxでトゥイーンさせているアニメーション全てを一時停止させます。
ブール型の引数を2つ渡す事ができ、1番目の引数が通常のアニメーショントゥイーン(TweenMax.toなど)を一時停止させるかどうか、2番目の引数がTweenMax.delayedCall を一時停止させるかどうかです。
どちらもデフォルトで true となっているので、とりあえず TweenMax.pauseAll(); とすると全てが止まります。
なお、一時停止ではなく完全停止するTweenMax.killAll()というものもあります。killAllは再開できませんので使いどころに注意です。
●TweenMax.resumeAll
一時停止中のTweenMaxアニメーション全てを再開させます。
こちらもpauseAllと同じくブール型の引数を2つ渡す事ができ、1番目の引数が通常のアニメーショントゥイーンを再開させるかどうか、2番目の引数が一時停止中のTweenMax.delayedCall を再開させるかどうかです。
どちらもデフォルトが trueなので、とりあえず TweenMax.resumeAll(); とすると全てが動き出します。
●pauseAll / resumeAll 使いどころ
私はよく、Flashから外部リンクやポップアップを開く際の「クリックして再開」を表示する際に使用しています。
外部リンクのボタンクリック時にpauseAllで現状のアニメーションを全て止めて「クリックして再開」オブジェクトを表示し、「クリックして再開」オブジェクトをクリック時にresumeAllでコンテンツを再開させるという具合です。
●注意点
今回ご紹介したこれらはstatic関数なので、全てを一括で一時停止/再開をしてしまいます。
複数のswfを使用するコンテンツや複数人で作業する場合など、個別にpause / resumeをしている場合は混乱が起きない様にあらかじめ仕様を決めておいた方が無難です。
外部swfのみ等、ある決まった範囲にのみpause / resume を効かせたい場合は GreenSockのフォーラムに参考情報があります。
pauseAll/resumeAll in loaded swf