2009年09月13日 (日)
Progressionで使われている、DoTweenerコマンドはTweenerというトゥイーンライブラリを使用しています。座標や透明度や角度などアニメーションを簡単に実装できるのですが、色操作やフィルタ操作なども簡単にできるのがこのライブラリの特徴です。
しかし色やフィルター効果をを変化させたりすることはデフォルトでは出来ず、毎回下記のようなクラスをインポートする必要があります。
//色の場合
import caurina.transitions.properties.ColorShortcuts;
ColorShortcuts.init();
//フィルタの場合
import caurina.transitions.properties.FilterShortcuts;
FilterShortcuts.init();
毎回それをやり忘れて動かなくて面倒だったので、あらかじめそれたのスペシャルプロパティがいじれるようにカスタマイズしました。バージョンは3.1.62です。
またProgressionのコアな部分ですので、なにか問題が発生しても知りませんし、プロジェクトのバージョンをアップデートすると戻る可能性もありますので、自己責任で。
package jp.nium.api.tweener {
import caurina.transitions.Tweener;
import flash.display.MovieClip;
import flash.events.Event;
import jp.nium.api.tweener.TweenerEvent;
import jp.nium.events.EventIntegrator;
import jp.nium.utils.MovieClipUtil;
import caurina.transitions.properties.ColorShortcuts;
import caurina.transitions.properties.FilterShortcuts;
〜〜中略〜〜
public function TweenerHelper( scopes:Object = null, parameters:Object = null ) {
ColorShortcuts.init();
FilterShortcuts.init();
// 引数を設定する
TweenerHelper.asに上記のようなコードを追加するだけ。あらかじめこうすることで、毎回CastSpriteやCastButtonのクラス上で初期化しなくとも、スペシャルプロパティを使用できます。
おまけ
DoTransitionコマンドを使用するときに、duration値(継続時間)を1秒より下に設定出来ない現象が発生しました。
//うごく
new DoTransition(this, Wipe, Transition.IN, 2, None.easeOut, { startPoint:4 } )
//うごかない
new DoTransition(this, Wipe, Transition.IN, 0.25, None.easeOut, { startPoint:4 } )
めっさ遅いなぁ...と思ったらコレは、DoTransitionクラス内の引数のデータ型のせいみたいです。
public function DoTransition( target:MovieClip, type:Class, direction:int, duration:int, easing:Function, parameters:Object = null, initObject:Object = null ) {
ここのdirectionの引数がint型だったので、小数を渡しても整数に変換されてエラーにならず動作しているようです。ここも
public function DoTransition( target:MovieClip, type:Class, direction:int, duration:Number, easing:Function, parameters:Object = null, initObject:Object = null ) {
と型をNumberに変えてあげると正常に動きます。調べてないから適当ですが、意図があってint値になっている可能性も。さらに今後のアップデートで仕様変更も考えられる場合もあるし、ここもコアな部分を触るので自己責任で。