Tweenライブラリ模索
現在、MITライセンスのTweenライブラリを探しています。
僕がFlashを制作する際に使用するTweenライブラリは、TweenMaxです。TweenMaxは、本当に便利で素晴らしいTweenライブラリだと思っています。
ただ、TweenMaxは、条件付きで有料ライセンスなので、頼りすぎては、今後作業に支障が出るため、できれば、MITライセンスの高機能Tweenライブラリを探していました。
※閲覧制限の無い所でしか使用してはいけない→会員登録をしないと見れないようなところでは使用できない等(上記の条件付きの例です。)
検証した結果、BetweenAS3がとても良さそうという結論に至りました。
BetweenAS3が優れている点を自分なりに挙げてみます。
処理が高速である
こちらにBetweenAS3作者のyossyさんの各Tweenライブラリのパフォーマンスデモがアップされています。
デモを見ていただければわかりますが、Tweensy、Tweener、TweenMax、GTweenは明らかにコマ落ちしていることが分かります。それに比べてBetweenAS3は、FlashPlayer9用でもコマ落ちしていません。
パフォーマンスの秘密は、以下の本に書かれています。
柔軟性が高い
まさに以下の記事の内容です。
xingxx – 直感的かつ再利用性の高いアニメーションライブラリ BetweenAS3
BetweenAS3クラスのインスタンスを生成することができるので、x,yのプロパティは、そのままでfilterを追加したいとか、1行追加するだけで、そのインスタンスを再利用できる点が素晴らしい。コード数も減るので、嬉しいです。
Wonderflに載ってるソースを眺めただけで、実際に走らせていないため、使い方が全然わからないのでメモを残していきます。
Tweenerライクな書き方
※以下の例は、mcをx:100に1.2秒かけてトゥイーンさせます。
Tweenerの書き方
Tweener.addTween(mc,{x:100 , time: 1.2 , transition:"easeOutQuart"});
BetweenAS3の書き方
BetweenAS3.to(mc,{x:100} , 1.2 , Quart.easeOut).play();
コールバック関数の使用
※以下の例は、mcがx:100に1.2秒かけてトゥイーンした後、funcというメソッドを実行します。
Tweenerの書き方
Tweener.addTween(mc,{x:100 , time: 1.2 , transition:"easeOutQuart" , onComplete:func});
BetweenAS3の書き方
//ITweenインターフェースを実装したインスタンスを生成します。(to関数は、ITweenインターフェースを実装したインスタンスを返します。) var t : ITween = BetweenAS3.to(mc,{x:100} , 1.2 , Quart.easeOut); //トゥイーン終了後のメソッドをセットします。 t.onComplete = func; //トゥイーンを実行します。 t.play();
以下、コールバック関数の種類です。
- onPlay・・・トゥイーン実行直前に実行する
- onStop・・・トゥイーンをストップしたときに実行する
- onUpdate・・・トゥイーン中(毎フレーム)実行する
- onComplete・・・トゥイーン終了後に実行する
フィルターの使用
以下の例では、ブラーフィルターを適用しています。
BetweenAS3.to(mc, {_blurFilter:{blurX:16,blurY:16,quality:3} }, 0.8, Quart.easeInOut).play();
上記のブラーフィルターの他、以下のフィルターがサポートされています。
- _bevelFilter
- _colorMatrixFilter
- _convolutionFilter
- _displacementMapFilter
- _dropShadowFilter
- _glowFilter
- _gradientBevelFilter
- _gradientGlowFilter
- _shaderFilter
随時追記します。















