Progressionでエフェクトコンポーネントをクラスに組み込む
Progressionでは便利なエフェクトコンポーネントがデフォルトで用意されています。
エフェクトコンポーネントのデモは以下のサイトで紹介されています。
Progression(4.0.12) エフェクトコンポーネントをクラスで使用 – MotuLog
こちらのサイトでも説明されていますが、クラスからエフェクトコンポーネントを利用する方法でなかなかうまくいかなかったので、とりあえずメモです。
まず、エフェクトコンポーネントクラス「BlindsEffect」を継承した以下のようなクラスを用意します。
public class MyEffect extends BlindsEffect { public function MyEffect( initObject:Object = null ) { super( initObject ); duration = 1; dimension = 1; easing = Circular.easeInOut; } }
例えば、ムービークリップ「McPhoto」に上のエフェクトを適応する場合に、クラス「MyEffect」を継承します。以下、その手順です。
通常、Progressionではムービークリップを追加する場合にテンプレートから以下のクラスを新規作成します。
public class MyCastMovieClip extends CastMovieClip { public function MyCastMovieClip( initObject:Object = null ) { super( initObject ); } override protected function atCastAdded():void { } override protected function atCastRemoved():void { } }
エフェクトを適用にするには、以下のようにしてMcPhotoにMyEffectを継承させます。
public class McPhoto extends MyEffect{ public function McPhoto ( initObject:Object = null ) { super( initObject ); } override protected function atCastAdded():void { } override protected function atCastRemoved():void { } }
BlindsEffectをnewすることで、エフェクトを適用することもできるようですが、MyEffectというクラスを用意することで、複数のオブジェクトで再利用することができますね。
たいした内容じゃないように見えますが、なぜかうまくいかなかったんです。。。
コメントする