BetweenAS3を使っていて、悩んだことがあったのでソースを調べてみた。
悩んだ内容は、逐次処理(シリアル)、並行処理(パラレル)を実行するときに、不特定の数を動作させたい時、そのトゥイーンを配列で渡せないかということ。
前回紹介したBetweemAS3の使い方では、シリアル、パラレル共に、その詳細のトゥイーンを引数につなげて設定して動かします。
数も少なく、順番に動かす場合には、この方が直感的でわかりやすいと思います。
しかし、もっとシステマチックに動かさなければならない時は、これだと対処しきれないでしょう。
でも、BetweenAS3にはその対処法があったのです。素晴らしい!!
簡単なサンプルは以下の通り
下のサンプルFlashでは、Serial、Parallelボタンを押すと、ポッチがランダムな位置に(シリアル、パラレルで)移動します。
ごちゃごちゃした動きがある場合には、tweenを1つずつ指定するよりも、配列で指定した方が見やすいですね。
関連記事
ActionScript3.0 トゥイーン系ライブラリ BetweenAS3 (その1)
ActionScript3.0 トゥイーン系ライブラリ BetweenAS3 (その3)
悩んだ内容は、逐次処理(シリアル)、並行処理(パラレル)を実行するときに、不特定の数を動作させたい時、そのトゥイーンを配列で渡せないかということ。
前回紹介したBetweemAS3の使い方では、シリアル、パラレル共に、その詳細のトゥイーンを引数につなげて設定して動かします。
// 順番に動かす場合はこんな感じ
var serialTween1:ITween = BetweenAS3.tween( mc2, { x:150 },{x:20,y:112}, 0.25);
var serialTween2:ITween = BetweenAS3.tween( mc2, { y:60 }, null, 0.15);
var serialTween3:ITween = BetweenAS3.tween( mc2, { x:200 },null, 0.2);
BetweenAS3.serial(serialTween1,serialTween2,serialTween3).play();
var serialTween1:ITween = BetweenAS3.tween( mc2, { x:150 },{x:20,y:112}, 0.25);
var serialTween2:ITween = BetweenAS3.tween( mc2, { y:60 }, null, 0.15);
var serialTween3:ITween = BetweenAS3.tween( mc2, { x:200 },null, 0.2);
BetweenAS3.serial(serialTween1,serialTween2,serialTween3).play();
数も少なく、順番に動かす場合には、この方が直感的でわかりやすいと思います。
しかし、もっとシステマチックに動かさなければならない時は、これだと対処しきれないでしょう。
でも、BetweenAS3にはその対処法があったのです。素晴らしい!!
// シリアルはこれ
BetweenAS3.BetweenAS3.serialTweens( 配列 );
//パラレルはこれ
BetweenAS3.BetweenAS3.parallelTweens( 配列 );
BetweenAS3.BetweenAS3.serialTweens( 配列 );
//パラレルはこれ
BetweenAS3.BetweenAS3.parallelTweens( 配列 );
簡単なサンプルは以下の通り
// 動かすMovieClipを配列に保持
var pointMcArray:Array; = [mc1,mc2,mc3,mc4,mc5,mc6];
// 動作するtweenを保持する配列を定義
var tweenArray = new Array();
// for文でtweenを指定
for(var i=0;i< pointMcArray.length ;i++){
var tmpPointMc = pointMcArray[i];
// tweenを定義
var tmpTween:ITween = BetweenAS3.tween( tmpPointMc,
{ x:targetArray[i]["x"], y:targetArray[i]["y"] },
null, 0.8, Cubic.easeOut);
// tweenを配列に保持
tweenArray.push(tmpTween);
}
// 配列を引数にtweenを設定(これはシリアル)
var tween = BetweenAS3.serialTweens(tweenArray);
tween.play();
var pointMcArray:Array; = [mc1,mc2,mc3,mc4,mc5,mc6];
// 動作するtweenを保持する配列を定義
var tweenArray = new Array();
// for文でtweenを指定
for(var i=0;i< pointMcArray.length ;i++){
var tmpPointMc = pointMcArray[i];
// tweenを定義
var tmpTween:ITween = BetweenAS3.tween( tmpPointMc,
{ x:targetArray[i]["x"], y:targetArray[i]["y"] },
null, 0.8, Cubic.easeOut);
// tweenを配列に保持
tweenArray.push(tmpTween);
}
// 配列を引数にtweenを設定(これはシリアル)
var tween = BetweenAS3.serialTweens(tweenArray);
tween.play();
下のサンプルFlashでは、Serial、Parallelボタンを押すと、ポッチがランダムな位置に(シリアル、パラレルで)移動します。
ごちゃごちゃした動きがある場合には、tweenを1つずつ指定するよりも、配列で指定した方が見やすいですね。
関連記事
ActionScript3.0 トゥイーン系ライブラリ BetweenAS3 (その1)
ActionScript3.0 トゥイーン系ライブラリ BetweenAS3 (その3)
コメントする