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というクラスを用意することで、複数のオブジェクトで再利用することができますね。
たいした内容じゃないように見えますが、なぜかうまくいかなかったんです。。。
コメントする