以下は、Fade -> Moveエフェクトの連続再生の例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | // 親Canvasを定義 var cvs: Canvas = new Canvas(); cvs.width = 200; cvs.height = 100; // エフェクトをかける対象となるUIComponentを定義 var uc = new UIComponent(); uc.graphics.beginFill(0x0000ff, 0.5); uc.graphics.drawRect(x1, y1, 100, 50); uc.alpha = 0.5; uc.graphics.endFill(); //Canvasにコンポーネントを登録 cvs.addChild(uc); // fade effect var fade_eff: Fade = new Fade(uc); fade_eff.duration = 1000; // 透明から不透明にフェードするよう設定 fade_eff.alphaFrom = 0.0; fade_eff.alphaTo = 0.7; // move effect var me: Move = new Move(uc); // 3000ms me.duration = 3000; me.xFrom = x1; me.yFrom = y1; // 移動距離:50pxを設定 me.xBy = 50; me.easingFunction = Cubic.easeInOut; // Sequenceオブジェクトを作成 var effect_seq: Sequence = new Sequence(); // fadeエフェクトオブジェクトを登録 effect_seq.addChild(fade_eff); // moveエフェクトオブジェクトを登録 effect_seq.addChild(me); // 繰り返し回数を無限大に設定 effect_seq.repeatCount = 0; // 繰り返し間隔を1200msに設定 effect_seq.repeatDelay = 1200; |
上記例を見て分かるように、Sequenceクラスも他のエフェクトクラスと 使用できるメンバ・メソッドがほぼ同じです。
今まで1エフェクトに設定していた 繰り返し回数(.repeatCount)や繰り返し間隔(.repeatDelay)は、
Sequenceクラスを用いると 意味を成さなくなるので、
Sequenceクラスに対して設定するようにしましょう。
画像を回転させながら拡大したり、 縮小させながらのフェードアウトなど、凝ったエフェクトをSequenceクラスと同様簡単に 実現することができますので、興味があったらヘルプを参照してみてください。。