BetweenAS3

(サンプル一覧を表示する)


[ライセンスの種類: MIT License]

BetweenAS3 はモーショントゥイーン用のライブラリで、 Spark Project の新藤愛大さんが開発・サポートをされています。


・BetweenAS3 (Spark Project)
http://www.libspark.org/wiki/BetweenAS3/en

・BetweenAS3 のチュートリアル (wonderfl)
http://wonderfl.net/tag/BetweenAS3Tutorial

・BeInteractive! (新藤さんのサイト)
http://www.be-interactive.org/


このサンプルでは簡単な処理しか入れていませんが、使いこなすとかなり凝ったことができるようです (Tween の終了時に次の Tween を開始したり、複数のオブジェクトを同期させたりなどなど)。
詳しくは wonderfl のサンプルを見てみてください。

他にも Tween 用のライブラリはありますが、 Between は処理の軽さも重視されているようで、他のライブラリより処理速度が速いみたいです。

・BetweenAS3 Performance Comparison Demo 2
http://www.be-interactive.org/works/20090911/Particle/index.html
Flash の実行画面
BetweenAS3

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

BetweenAS3
クリックする度にわんこが出てきます。

ソースコード

package 
{
	import flash.display.Bitmap;
	import flash.display.SimpleButton;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.Bounce;
	import org.libspark.betweenas3.tweens.ITween;
	
	/**
	 * BetweenAS3 のサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		/**
		 * 埋め込み画像
		 */
		[Embed(source = '../image/test001.png')]
		private var image1:Class;
		
		/**
		 * 開始ボタン
		 */
		private var button1:SimpleButton;
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化メソッド
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// ボタンの作成
			var label:String = "Tween 開始";
			button1 = new SimpleButton();
			button1.upState = createButton(0xDDDDDD, 100, 20, 10, label);
			button1.overState = createButton(0xFFFFFF, 100, 20, 10, label);
			button1.downState = createButton(0xBBBBBB, 100, 20, 10, label);
			button1.hitTestState = button1.upState;
			button1.addEventListener(MouseEvent.MOUSE_DOWN, onButtonMouseDown);
			button1.x = 200;
			button1.y = 10;
			addChild(button1);
		}
		
		/**
		 * 開始ボタンが押された時のイベント
		 * @param	e
		 */
		private function onButtonMouseDown(e:MouseEvent):void 
		{
			// 画像の準備
			var bitmap:Bitmap = new image1;
			bitmap.cacheAsBitmap = true;
			addChild(bitmap);
			
			// モーショントゥイーンの準備
			var tween:ITween;
			
			tween = BetweenAS3.tween(bitmap, 
									{ scaleX: 3, scaleY: 3, x: 170, y: 140 }, 
									null, 
									3, 
									Bounce.easeOut);
			
			// モーショントゥイーン開始
			tween.play();
		}
		
		/**
		 * ボタンの作成
		 * @param	color	色
		 * @param	width	横幅
		 * @param	height	縦幅
		 * @param	round	角丸の大きさ
		 * @param	text	ボタンのラベル
		 * @return	ボタン
		 */
		private function createButton(color:uint, width:int, height:int, round:int, text:String):Sprite
		{
			var textField:TextField = new TextField();
			var sprite:Sprite = new Sprite();
			sprite.graphics.lineStyle(2);
			sprite.graphics.beginFill(color);
			sprite.graphics.drawRoundRect(0, 0, width, height, round);
			sprite.graphics.endFill();
			
			textField.text = text;
			textField.selectable = false;
			textField.width = width;
			textField.autoSize = TextFieldAutoSize.CENTER;
			sprite.addChild(textField);
			return sprite;
		}
	}
}
		


FlashDevelop で外部ライブラリを使用するときは、 lib フォルダに SWC ファイルを追加した後、右クリックして "Add To Library" を選択してください。

ライブラリの設定 1


ライブラリ名が青くなったら、ビルド時に使用されるようになります。

ライブラリの設定 2