HydroSequenceで連続tweenを試してみた

[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してもらってるんだから、その熱意と姿勢に感嘆。

  • URLをコピーしました!

この記事を書いた人

どうでもいいことばかりです

コメント

コメントする