[SWF]https://blog.cgfm.jp/garyu/wp-content/uploads/2008/09/sample.swf, 600, 250[/SWF]
巷で話題?のナストマくんを練習でHydroSequenceで動かしてみました。
アニメーションしてる途中に「りせっと」ボタンを押すと、そこから初期位置に戻ります。
↓Actionscriptのソースはこちら。
import fl.transitions.easing.*; //Easingの指定
import org.goasap.GoEngine;
import org.goasap.managers.*; //LinearGoRepeater等
import com.hydrotik.go.*;
var NasuDefX = nasu_mc.x; //とまとの初期位置のY座標
var NasuDefY = nasu_mc.y; //とまとの初期位置のY座標
var TomaDefX = tomato_mc.x; //とまとの初期位置のY座標
var TomaDefY = tomato_mc.y; //とまとの初期位置のY座標
//ボタン[なす]の定義
nasu_btn.addEventListener("click",seqNasu);
function seqNasu(event:MouseEvent):void{
var seq:HydroSequence = new HydroSequence();
seq.addItem(
{target:nasu_mc,
alpha:100,
scaleX:0.5,scaleY:0.5,
x:500,
Blur_blurX:5,Blur_blurY:5,
easing:Regular.easeIn,
repeater:new LinearGoRepeater(2,true),
delay:1,duration:1
}
);
seq.start();
}
//ボタン[とまと]の定義
tomato_btn.addEventListener("click",seqTomato);
function seqTomato(event:MouseEvent):void{
var seq:HydroSequence = new HydroSequence();
seq.addItem(
{target:tomato_mc,
x:500,
easing:Elastic.easeOut,
delay:0,duration:2
},
{target:tomato_mc,
alpha:0,
repeater:new LinearGoRepeater(2,true),
delay:0,duration:1
},
[
{target:tomato_mc,
x:TomaDefX,
easing:None.easeIn,
delay:0,duration:1.2
},
{target:tomato_mc,
y:180,
scaleX:2,scaleY:2,
easing:Bounce.easeIn,
repeater:new LinearGoRepeater(4,true),
delay:0,duration:0.2
}
]
);
seq.start();
}
//ボタン[なすとま]の定義
nasutoma_btn.addEventListener("click",seqNasutoma);
function seqNasutoma(event:MouseEvent):void{
var seq:HydroSequence = new HydroSequence();
seq.addItem(
{target:nasu_mc,
x:500,
easing:None.easeOut,
delay:0,duration:1
},
{target:tomato_mc,
x:500,
easing:Bounce.easeOut,
delay:0,duration:1
},
[
{target:nasu_mc,
x:NasuDefX,
easing:None.easeIn,
delay:0,duration:2
},
{target:tomato_mc,
x:TomaDefX,
easing:None.easeIn,
delay:0,duration:2
},
{target:tomato_mc,
y:NasuDefY,
scaleX:2,scaleY:2,
Blur_blurX:2,Blur_blurY:2,
repeater:new LinearGoRepeater(4,true),
delay:0,duration:0.5
},
{target:nasu_mc,
y:TomaDefY,
Blur_blurX:2,Blur_blurY:2,
repeater:new LinearGoRepeater(4,true),
delay:0,duration:0.5
}
]
);
seq.start();
}
//リセットボタン
reset_btn.addEventListener("click",Reset);
function Reset(event:MouseEvent):void{
var seqReset:HydroSequence = new HydroSequence();
seqReset.addItem(
{target:nasu_mc,
alpha:100,rotation:0,
scaleX:1,scaleY:1,
x:NasuDefX,y:NasuDefY,
Blur_blurX:0,Blur_blurY:0,
delay:0,duration:0.5,
easing:Regular.easeIn
},
{target:tomato_mc,
alpha:100,rotation:0,
scaleX:1,scaleY:1,
x:TomaDefX,y:TomaDefY,
Blur_blurX:0,Blur_blurY:0,
easing:None.easeIn,
delay:0,duration:0.5
}
);
seqReset.start();
}
Actionscript3.0、ちゃんと勉強しなきゃな〜。
なんか、同時アニメ−ションすると、時間がずれるのは気のせい?
delay:0でもなんかボタン押した後、もっさりして動くような、タイムラグがあるような気がする。
(最初の処理が重いのか?)
参考サイトは大久保大先生のイナヅマtvログの全部(^^;
何をググっても全部ここの記事内容に辿り着くw、やっぱすげ〜〜
制作者にバグッてると伝えて、「そんな事は無い!」と言われて、
ちゃんと検証して、結果バグFixしてもらってるんだから、その熱意と姿勢に感嘆。

コメント