スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

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というクラスを用意することで、複数のオブジェクトで再利用することができますね。

たいした内容じゃないように見えますが、なぜかうまくいかなかったんです。。。

このエントリーをはてなブックマークに追加

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Monthly Archives

Search