メソッド | プロパティ | フレームあり | フレームなし

mx.effects
CompositeEffect クラス

継承を示す線
直接の既知のサブクラス
           mx.effects.Parallel, mx.effects.Sequence

CompositeEffect クラス
mx.effects.Effect の拡張

CompositeEffect クラスは <mx:Parallel> および <mx:Sequence> の各エフェクトのスーパークラスです。Flex では、エフェクトを組み合わせる方法を 2 つサポートしています。それは、パラレル処理とシーケンス処理です。複数のエフェクトをパラレル処理で組み合わせると、これらのエフェクトが同時に再生されます。複数のエフェクトをシーケンス処理で組み合わせると、1 つのエフェクトの再生が終了してから、別のエフェクトの再生が始まります。

通常、組み合わせたエフェクトの開始は次の 5 つの手順から成るプロセスです。

を参照するにはここをクリックしてください

コンストラクタ
CompositeEffect ( targetObj)
コンストラクタです。



メソッド
       addChild( childEffect:Object)
新しい子エフェクトを、この組み合わせたエフェクトに追加します。
       endEffect( )
現在再生中のエフェクトをすべて中断し、まだ再生を開始していないエフェクトをすべてスキップして、組み合わせたエフェクトの終わりに直ちにジャンプします。

mx.effects.Effect クラスから継承されるメソッド
endEffect   getAffectedProperties   playEffect  



プロパティ

mx.effects.Effect クラスから継承されるプロパティ
duration   listener   suspendBackgroundProcessing   target  



コンストラクタの詳細

CompositeEffect

CompositeEffect( targetObj)

コンストラクタです。

パラメータ
    targetObj - 組み合わせたエフェクトの場合、この引数は無視されます。このパラメータは、他の種類のエフェクトとの一貫性を維持する目的で用意されています。



メソッドの詳細

addChild

addChild( childEffect:Object)

新しい子エフェクトを、この組み合わせたエフェクトに追加します。シーケンス処理エフェクトでは、それぞれの子エフェクトが、追加された順序で一度に 1 つずつ再生されます。パラレル処理エフェクトでは、すべての子エフェクトが、追加された順序に関係なく同時に再生されます。

パラメータ
    childEffect:Object - 組み合わせたエフェクトに追加する子エフェクトの名前を表します。


endEffect

endEffect( )

現在再生中のエフェクトをすべて中断し、まだ再生を開始していないエフェクトをすべてスキップして、組み合わせたエフェクトの終わりに直ちにジャンプします。


CompositeEffectExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- 組み合わせたエフェクトの使用方法を示す簡単な例 -->
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF">

<mx:Script>
<![CDATA[

	import mx.effects.Move;
	import mx.effects.Sequence;
	import mx.effects.Parallel;
	
	var movesequenceA:Move;
	var movesequenceB:Move;
	var moveparallelbutton:Move;
	var sequenceAB:Sequence;
	var parallelAB:Parallel;

	function starteffect(ax,ay,bx,by)
   	{
movesequenceA= new mx.effects.Move(a);
movesequenceB= new mx.effects.Move(b);
moveparallelbutton= new mx.effects.Move(button);
sequenceAB= new mx.effects.Sequence();
parallelAB= new mx.effects.Parallel();
sequenceAB.addChild(movesequenceA);
sequenceAB.addChild(movesequenceB);
parallelAB.addChild(moveparallelbutton);
moveparallelbutton.xTo=0;
	    moveparallelbutton.xFrom= 245;
moveparallelbutton.yFrom=85;
moveparallelbutton.duration= 4000;
movesequenceA.xTo= ax;
movesequenceA.xBy= 200;
movesequenceA.yTo= ay;
movesequenceA.yBy= 175;
movesequenceA.duration= 2000;
movesequenceB.yFrom =175;
movesequenceB.xTo= bx;
movesequenceB.xBy= 200;
movesequenceB.yTo= by;
movesequenceB.yBy= 200;
movesequenceB.duration= 2000;
sequenceAB.playEffect();
parallelAB.playEffect();
   	}
    ]]>
    
</mx:Script>
<mx:Panel title="Composite Effect" >
<mx:Canvas id="canvas" width="500" height="200">

<mx:Label id="a" text="Sequence 1" height="{(canvas.height-20)/2}" width="{(canvas.width-20)/2}"
effectStart=" a.text= 'sequence 1 Running';"
effectEnd="a.text='sequence 1 ended!!!'" color="#009966"/>

<mx:Label id="b" y="175" text="Sequence 2" height="{(canvas.height-20)/2}"
width="{(canvas.width-20)/2}" effectStart=" b.text= 'sequence 2 Running';"
effectEnd="b.text='sequence 2 ended!!'" x="0" color="#00CCFF"/>

<mx:Button id="button" label="Start effect" click="starteffect(200,175,200,0)"
effectStart="button.label='parallel effect running'"
effectEnd="button.label='parallel effect ended!!'" x="245" y="85"/>

</mx:Canvas>
  
</mx:Panel>
  
</mx:Application>