BetweenAS3を使ってみた。

   2009/11/13

今更ぽいですが、使ってみました!

今度Spark67 Deepっていうのに行くので、その予習もかねて。

最初にまず、このヘッダにつかってるやつ、これ、100%Tweenerで作っているので、これをちょいとBetweenAS3に変えて比べてみようかとやってみました。
こんな感じ。

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

れれれー?

なんかやり方間違ってるのかなぁ。

Tweenerのほうが、きれい!?

Twinner

import caurina.transitions.Tweener;
import caurina.transitions.properties.FilterShortcuts;
FilterShortcuts.init();

//一部端折ってます。

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

function rollOverListener(event:MouseEvent):void {
	_mc.alpha=1;
	Tweener.addTween(_mc,{_Blur_blurX:0,_Blur_blurY:0});
	Tweener.addTween(_mc, {width:30, height:30, time:1, alpha:1, rotation:360, transition:"easeOutElastic"});
}

function rollOutListener(event:MouseEvent):void {
	Tweener.addTween(_mc, {width:14, height:14, delay:0.3, time:0.8, transition:"easeOutElastic"});
}

function clickListener(event:MouseEvent):void {
	Tweener.addTween(_mc,{width:14, height:14, _Blur_blurX:30,_Blur_blurY:30,time:0.6, transition:"easeOutElastic"});
	Tweener.addTween(_mc, {alpha:0, time:1,delay:0.2, transition:"easeOutQuart"});
	_mc =ring_mc[Math.round (Math.random () * (cnt-1))];
	_mc.x=0;
	_mc.y=0;
	_mc.alpha=0;
}

BetweenAS3

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 {
	Over.play();
}

function rollOutListener(event:MouseEvent):void {
	Out.play();
}

function clickListener(event:MouseEvent):void {
	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;
	}
}

参考にさせていただいたのは

ActionScript 3.0 エラーアーカイブスのKaedeさんのここ

と、こちら。

Fountain さま

よくわからないからよくわからないままにして、今度のイベントで訊こう!


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

コメント一覧

  1. Toshiki Izumi より:

    はじめまして。トラックバックいただいたizm-design.comの中の者です。

    BetweenAS3で不具合が出ている件ですが、BetweenAS3では、tweenerとは違い、tweenのオーバーライド機能が実装されていません(アルファ版なので、今後どう実装されるかは不明ですが)。

    rollOutListener内でOver.stop();してからOut.play();とするとうまくいくかと思います。

    作者のbeinteractiveさんがブログで記述されていますので、参考になるかと思います。
    http://www.be-interactive.org/index.php?itemid=511

  2. admin より:

    Izumiさん

    はじめまして。
    ご指摘ありがとうございます!
    修正してみたんですが、まだちょっと残念な感じ、こんな感じになっています。
    http://blog.akuapa.com/?p=224

    もう少し調べてみます。ありがとうございました!

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

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

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

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