BetweenAS3 続き

 

izm-design.com のIzumiさんより、BetweenAS3にはOverwrite 機能が備わっていないっていうことを
おしえていただいきました。

ありがとうございます!

それで再度ためしてみる。

[SWF]http://blog.akuapa.com/wp-content/uploads/top_ba_fix.swf, 820, 250[/SWF]

うむー。

こうなるのだ。

import org.libspark.betweenas3.easing.*;
import org.libspark.betweenas3.BetweenAS3;
import org.libspark.betweenas3.tweens.ITween;
import org.libspark.betweenas3.events.TweenEvent;
import org.libspark.betweenas3.tweens.IObjectTween;

//一部端折ってます。

hit.buttonMode = true;
hit.addEventListener(MouseEvent.ROLL_OVER, rollOverListener);
hit.addEventListener(MouseEvent.ROLL_OUT,rollOutListener);
hit.addEventListener(MouseEvent.CLICK,clickListener);

var Over:ITween = BetweenAS3.tween(_mc, { rotation:360,width:30, height:30, alpha:1,_blurFilter:{blurX: 0, blurY: 0} }, { rotation:0, width:14, height:14, alpha:0 }, 1,Elastic.easeOut);

var Out:ITween = BetweenAS3.tween(_mc, { width:14, height:14, delay:0.3}, null, 0.8,Elastic.easeOut);

var Blur:IObjectTween = BetweenAS3.tween(_mc, {  _blurFilter:{blurX: 30, blurY: 30},width:14, height:14 }, null, 0.6,Elastic.easeOut);

var Alpha:IObjectTween = BetweenAS3.tween(_mc, { alpha:0,delay:0.2}, { alpha:1}, 1,Quart.easeOut);

//blurFilterの初期化がよくわからないので一応こうしてみた。
var initF:ITween = BetweenAS3.tween(_mc, {  _blurFilter:{blurX: 0, blurY: 0},width:14, height:14}, null, 0.1);
initF.play();

function rollOverListener(event:MouseEvent):void {
	if (Out != null) {
		Out.stop();
	}
	Over.play();

}

function rollOutListener(event:MouseEvent):void {
	if (Over != null) {
		Over.stop();
	}
	Out.play();
}



function clickListener(event:MouseEvent):void {
	if (Out != null) {
		Out.stop();
	}
	if (Over != null) {
		Over.stop();
	}
	Alpha.addEventListener(TweenEvent.COMPLETE, onComplete);
	BetweenAS3.parallel(Blur,Alpha).play();
	function onComplete(e:TweenEvent):void {
		_mc =ring_mc[Math.round (Math.random () * (cnt-1))];
		_mc.x=0;
		_mc.y=0;
		_mc.alpha=0;
	}
}
}

BeInteractive! さんのところをみせていただいてて、あーもしかしてプロパティごとにトゥイーンを設定して、そして、reverseとか、使ってみたらいいんじゃないかと思って、他のとこも少し調整しながら修正してみた。

[SWF]http://blog.akuapa.com/wp-content/uploads/top_ba_fix2.swf, 820, 250[/SWF]

var Rotation:IObjectTween;
var Size:IObjectTween;
var Blur:IObjectTween;
var Alpha:IObjectTween;
var initF:ITween;

hit.buttonMode = true;
hit.addEventListener(MouseEvent.ROLL_OVER, rollOverListener);
hit.addEventListener(MouseEvent.ROLL_OUT,rollOutListener);
hit.addEventListener(MouseEvent.CLICK,clickListener);

initF = BetweenAS3.tween(_mc, {  _blurFilter:{blurX: 0, blurY: 0},width:14, height:14}, null, 0.1);
initF.play();

function rollOverListener(event:MouseEvent):void {

Rotation = BetweenAS3.tween(_mc, { rotation:360}, null, 0.8,Elastic.easeOut);
Size = BetweenAS3.tween(_mc, { width:30, height:30}, null, 0.8,Elastic.easeOut);
Blur = BetweenAS3.tween(_mc, { _blurFilter:{blurX: 10, blurY: 10}}, null, 0.2,Elastic.easeOut);
Alpha = BetweenAS3.tween(_mc, { alpha:0},null, 0.5,Quart.easeOut);
initF = BetweenAS3.tween(_mc, {  _blurFilter:{blurX: 0, blurY: 0},width:14, height:14}, null, 0.1);
initF.play();

_mc.alpha=1;
   BetweenAS3.parallel(Rotation, Size).play();  
}

function rollOutListener(event:MouseEvent):void {
	if (Rotation != null) {
        Rotation.stop();
    }
	if (Size != null) {
        Size.stop();
    }
   BetweenAS3.parallel(BetweenAS3.reverse(Rotation), BetweenAS3.reverse(Size)).play();  
}

function clickListener(event:MouseEvent):void {
	Blur.addEventListener(TweenEvent.COMPLETE, onComplete);
	BetweenAS3.parallel(Blur,Alpha).play();
	function onComplete(e:TweenEvent):void {
		_mc =ring_mc[Math.round (Math.random () * (cnt-1))];
		_mc.x=0;
		_mc.y=0;
		_mc.alpha=0;
}

}

う〜ん。


↓↓↓色んなバリ通の方のブログでバリ島の最新情報が確認できますよ。
にほんブログ村 海外生活ブログ バリ島情報へ
にほんブログ村
  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

This site uses Akismet to reduce spam. Learn how your comment data is processed.