In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

TweenerをBetweenAS3に書き換える1

TweenerをBetweenAS3に書き換える1

黒■がTweener。赤や緑の■がBetweenAS3。

Tweenerの作例を元にBetweenAS3に書き換えてみた。

play()が必要なのと、
FromValuesを設定できるのがポイント


★Parameters
Tweener Parameters are:
.addTween(target:Object, tweeningParameters:Object)

BetweenAS3 Parameters are:
.tween(Target, ToValues, FromValues, Time, Easing)


★参考
Tweenerの作例は↓ここより
http://www.tonpoo.com/tweener/methods/Tweener_addTween.html

BetweenAS3は↓ここを参考にしたけど、
http://www.be-interactive.org/?itemid=449
仕様変更されているので注意。
/*
TweenerをBetweenAS3に書き換える1

黒■がTweener。赤や緑の■がBetweenAS3。

Tweenerの作例を元にBetweenAS3に書き換えてみた。

play()が必要なのと、
FromValuesを設定できるのがポイント


★Parameters
Tweener Parameters are:
.addTween(target:Object, tweeningParameters:Object)

BetweenAS3 Parameters are:
.tween(Target, ToValues, FromValues, Time, Easing)


★参考
Tweenerの作例は↓ここより
http://www.tonpoo.com/tweener/methods/Tweener_addTween.html

BetweenAS3は↓ここを参考にしたけど、
http://www.be-interactive.org/?itemid=449
仕様変更されているので注意。
*/
package
{
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.events.MouseEvent;
	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.tweens.ITween;
	import org.libspark.betweenas3.easing.*;
	import caurina.transitions.Tweener;
	
	public class Main extends Sprite
	{
		public function Main()
		{
			stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
			mouseUpHandler(null);
		}
		
		private function mouseUpHandler(e:MouseEvent):void
		{
			while (numChildren > 0) {
				removeChildAt(0);
			}
			addNewText(0, 0, "Click to replay");
			
			addNewText(50, 30, "◆1. ムービークリップを指定位置に0.5秒でスライドさせる");
			// ◆ムービークリップを指定位置に0.5秒でスライドさせる
			var box1t:Sprite = addNewBox(400, 60, 0x000000);
			Tweener.addTween(box1t, {x:10, time:0.5});
			
			// ↓BetweenAS3化 tweenerのデフォルト値のイージングはExpo.easeOutにあたる
			var box1b:Sprite = addNewBox(400, 90, 0xFF0000);
			BetweenAS3.tween(box1b, {x:10}, null, 0.5, Expo.easeOut).play();
			
			
			addNewText(50, 130, "◆2. ムービークリップを2秒でフェードイン");
			// ◆ムービークリップを2秒でフェードイン
			var box2t:Sprite = addNewBox(100, 160, 0x000000);
			box2t.alpha = 0;
			Tweener.addTween(box2t, {alpha:1, time:2});
			
			// ↓BetweenAS3化
			var box2b:Sprite = addNewBox(200, 160, 0xFF0000);
			box2b.alpha = 0;
			BetweenAS3.tween(box2b, {alpha:1}, null, 2, Expo.easeOut).play();
			// ↓さらにBetweenAS3風に書き直すなら
			var box2b2:Sprite = addNewBox(300, 160, 0x00FF00);
			BetweenAS3.tween(box2b2, {alpha:1}, {alpha:0}, 2, Expo.easeOut).play();
			
			
			addNewText(50, 200, "◆3. xとalphaの値を同時に変更");
			// ◆xとalphaの値を同時に変更
			var box3t:Sprite = addNewBox(400, 230, 0x000000);
			box3t.alpha = 0;
			Tweener.addTween(box3t, {x:10, alpha:1, time:0.5});
			
			// ↓BetweenAS3化
			var box3b:Sprite = addNewBox(400, 260, 0xFF0000);
			box3b.alpha = 0;
			BetweenAS3.tween(box3b, {x:10, alpha:1}, null, 0.5, Expo.easeOut).play();
			// ↓さらにBetweenAS3風に書き直すなら
			var box3b2:Sprite = addNewBox(400, 290, 0x00FF00);
			BetweenAS3.tween(box3b2, {x:10, alpha:1}, {alpha:0}, 0.5, Expo.easeOut).play();
			
			
			addNewText(10, 330, "◆4. 他のtransitionタイプを使ってtweening");
			// ◆他のtransitionタイプを使ってtweening
			var box4t:Sprite = addNewBox(400, 370, 0x000000);
			Tweener.addTween(box4t, {x:10, time:0.7, transition:"linear"});
			
			// ↓BetweenAS3化
			var box4b:Sprite = addNewBox(400, 400, 0xFF0000);
			BetweenAS3.tween(box4b, {x:10}, null, 0.7, Linear.linear).play();
			// ↓Linear.linearはデフォルト値なので省略できる
			var box4b2:Sprite = addNewBox(400, 430, 0x00FF00);
			BetweenAS3.tween(box4b2, {x:10}, null, 0.7).play();
		}
		
		private function addNewBox(x:Number, y:Number, c:int):Sprite
		{
			var sp:Sprite = new Sprite();
			sp.graphics.beginFill(c);
			sp.graphics.drawRect( -10, -10, 20, 20);
			sp.graphics.endFill();
			sp.x = x;
			sp.y = y;
			addChild(sp);
			return sp;
		}
		
		private function addNewText(x:Number, y:Number, txt:String):TextField
		{
			var tf:TextField = new TextField();
			tf.text = txt;
			tf.autoSize = TextFieldAutoSize.LEFT;
			tf.x = x;
			tf.y = y;
			addChild(tf);
			return tf;
		}
	}
}