<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.flasia.com &#187; BetweenAS3</title>
	<atom:link href="http://blog.flasia.com/archives/category/betweenas3/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.flasia.com</link>
	<description>[object MainTimeline]</description>
	<lastBuildDate>Sat, 13 Feb 2010 08:48:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>BetweenAS3 베지어를 이용한 트윈</title>
		<link>http://blog.flasia.com/archives/1443</link>
		<comments>http://blog.flasia.com/archives/1443#comments</comments>
		<pubDate>Sat, 09 Jan 2010 14:11:10 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=1443</guid>
		<description><![CDATA[BetweenAS3로 베지어 가이드를 만들고, 만들어진 가이드를 이용해 트윈을 적용할 수 있습니다.
bezier관련 메서드는 tween메서드에 controlPoint라는 매개변수가 더해진 형태로,  [...]]]></description>
			<content:encoded><![CDATA[<p>BetweenAS3로 베지어 가이드를 만들고, 만들어진 가이드를 이용해 트윈을 적용할 수 있습니다.<br />
bezier관련 메서드는 tween메서드에 controlPoint라는 매개변수가 더해진 형태로, controlPoint 매개변수의 데이터에 의해 만들어진 베지어 가이드에 따라 트윈이 적용됩니다.</p>
<pre class="brush:ActionScript">
BetweenAS3.bezier(target:Object, to:Object, from:Object = null, controlPoint:Object = null, time:Number = 1.0, easing:IEasing = null);
</pre>
<pre class="brush:ActionScript">
BetweenAS3.bezierFrom(target:Object, from:Object, controlPoint:Object = null, time:Number = 1.0, easing:IEasing = null);
</pre>
<pre class="brush:ActionScript">
BetweenAS3.bezierTo(target:Object, to:Object, controlPoint:Object = null, time:Number = 1.0, easing:IEasing = null);
</pre>
<p><span id="more-1443"></span><br />
아래는 시작 포인트와 끝 포인트 사이에 컨트롤 포인트를 설정하고, 설정된 컨트롤 포인트 값에 의해 만들어진 베지어 곡선을 따라 트윈이 재생되는 간단한 샘플입니다.</p>
<pre class="brush:ActionScript">
package {

	import flash.display.Sprite;
	import flash.events.MouseEvent;

	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.tweens.ITween;

	public class BetweenAS3Bezier extends Sprite {

		private var box:Sprite;
		private var t:ITween;
		private var tg:ITween;

		private var cPointX:Array;
		private var cPointY:Array;

		public function BetweenAS3Bezier() {

			box = new Sprite();
			box.graphics.beginFill(0x000000);
			box.graphics.drawRect(-10, -10, 20, 20);
			box.graphics.endFill();
			addChild(box);
			box.x = 40;
			box.y = 40;

			cPointX = [100, 180, 280, 400];
			cPointY = [120, 20, 180, 40];

			setTween();
		}

		private function setTween() : void {
			t = BetweenAS3.bezier(box, {x:480, y:160}, {x:40, y:40}, {x:cPointX, y:cPointY}, 4);
			tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

			stage.addEventListener(MouseEvent.CLICK, hnClick);
		}

		private function hnClick(e:MouseEvent) : void {
			tg.stopOnComplete = false;
			tg.togglePause();
		}
	}
}
</pre>
<p><object style="width: 520px; height: 240px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="240" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_Bezier_01.swf" /><embed style="width: 520px; height: 240px;" type="application/x-shockwave-flash" width="520" height="240" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_Bezier_01.swf" menu="false" loop="false" play="false"></embed></object></p>
<p>위치 값(x, y)뿐만 아니라 속성도 베지어 트윈이 가능하다고 합니다.<br />
아래는 위의 소스코드에 alpha 속성에 대한 컨트롤 포인트를 적용해 보았는데, 잘 되는군요.</p>
<pre class="brush:ActionScript">
package {

	import flash.display.Sprite;
	import flash.events.MouseEvent;

	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.tweens.ITween;

	public class BetweenAS3Bezier extends Sprite {

		private var box:Sprite;
		private var t:ITween;
		private var tg:ITween;

		private var cAlpha:Array;
		private var cPointX:Array;
		private var cPointY:Array;

		public function BetweenAS3Bezier() {

			box = new Sprite();
			box.graphics.beginFill(0x000000);
			box.graphics.drawRect(-10, -10, 20, 20);
			box.graphics.endFill();
			addChild(box);
			box.x = 40;
			box.y = 40;

			cAlpha = [0, 0.8, 0.2, 0.5, 1];
			cPointX = [100, 180, 360, 220, 400];
			cPointY = [120, 20, 180, 150, 40];

			setTween();
		}

		private function setTween() : void {
			t = BetweenAS3.bezier(box, {alpha:1, x:480, y:160}, {alpha:0, x:40, y:40}, {alpha:cAlpha, x:cPointX, y:cPointY}, 4);
			tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

			stage.addEventListener(MouseEvent.CLICK, hnClick);
		}

		private function hnClick(e:MouseEvent) : void {
			tg.stopOnComplete = false;
			tg.togglePause();
		}
	}
}
</pre>
<p><object style="width: 520px; height: 240px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="520" height="240" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_Bezier_02.swf" /><embed style="width: 520px; height: 240px;" type="application/x-shockwave-flash" width="520" height="240" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_Bezier_02.swf" menu="false" loop="false" play="false"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/1443/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BetweenAS3 색상변환 및 필터효과 적용하기</title>
		<link>http://blog.flasia.com/archives/1384</link>
		<comments>http://blog.flasia.com/archives/1384#comments</comments>
		<pubDate>Sat, 02 Jan 2010 14:08:18 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=1384</guid>
		<description><![CDATA[이번에는 BetweenAS3를 이용한 색상변환 및 필터효과에 대해서 살펴보겠습니다.
우선, 색상변환은 ActionScript 3.0에서 제공되고 있는 ColorTransform클래스의 ColorTransform() 생성자 메서드와 유사한 형식으로 기술하면 됩니다.

package {

	import flash.display.Sprite;
	import flash.events.MouseEvent;

	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.*;
	import org.libspark.betweenas3.tweens.ITween;

	public class BetweenAS3Color extends Sprite {

		private var box:Sprite;
		private var t:ITween;
		private var tg:ITween;

		public function BetweenAS3Color() {

			box = new Sprite();
			box.graphics.beginFill(0x000000);
			box.graphics.drawRect(0, 0, 200, 80);
			box.graphics.endFill();
			addChild(box);
			box.x = Math.round(stage.stageWidth * 0.5 - box.width * 0.5);
			box.y [...]]]></description>
			<content:encoded><![CDATA[<p>이번에는 BetweenAS3를 이용한 색상변환 및 필터효과에 대해서 살펴보겠습니다.<br />
우선, 색상변환은 ActionScript 3.0에서 제공되고 있는 <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/geom/ColorTransform.html" target="_blank"><em>ColorTransform</em></a>클래스의 <em>ColorTransform()</em> 생성자 메서드와 유사한 형식으로 기술하면 됩니다.</p>
<pre class="brush:ActionScript">
package {

	import flash.display.Sprite;
	import flash.events.MouseEvent;

	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.*;
	import org.libspark.betweenas3.tweens.ITween;

	public class BetweenAS3Color extends Sprite {

		private var box:Sprite;
		private var t:ITween;
		private var tg:ITween;

		public function BetweenAS3Color() {

			box = new Sprite();
			box.graphics.beginFill(0x000000);
			box.graphics.drawRect(0, 0, 200, 80);
			box.graphics.endFill();
			addChild(box);
			box.x = Math.round(stage.stageWidth * 0.5 - box.width * 0.5);
			box.y = Math.round(stage.stageHeight * 0.5 - box.height * 0.5) - 20;

			setTween();
		}

		private function setTween():void{
			t = BetweenAS3.tween(box, {transform:{colorTransform:{ redOffset:-255, greenOffset:255, blueOffset:255 }}}, null, 2, Quart.easeOut);
			tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

			stage.addEventListener(MouseEvent.CLICK, hnClick);
		}

		private function hnClick(e:MouseEvent):void	{
			tg.stopOnComplete = false;
			tg.togglePause();
		}
	}
}
</pre>
<p><span id="more-1384"></span><br />
<object style="width: 480px; height: 160px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="160" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_colorTransform.swf" /><embed style="width: 480px; height: 160px;" type="application/x-shockwave-flash" width="480" height="160" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_colorTransform.swf" menu="false" loop="false" play="false"></embed></object></p>
<hr />
그리고 BetweenAS3는 DisplayObject에 filter를 적용해 트윈을 재생시킬 수 있습니다.<br />
사용 가능한 필터는 아래와 같으며,</p>
<div style="margin: 4px 0px; padding: 4px 10px; background-color: #f0f0f0;">
_bevelFilter<br />
_blurFilter<br />
_colorMatrixFilter<br />
_convolutionFilter<br />
_displacementMapFilter<br />
_dropShadowFilter<br />
_glowFilter<br />
_gradientBevelFilter<br />
_gradientGlowFilter<br />
_shaderFilter
</div>
<p>사용방법은 ActionScript 3.0에서 제공되고 있는 <a href="http://help.adobe.com/ko_KR/AS3LCR/Flash_10.0/flash/filters/package-detail.html" target="_blank"><em>flash.filters</em></a> 패키지의 각종 클래스의 생성자 메서드와 유사한 형식으로 기술하면 됩니다.<br />
위 색상변환 예제코드를 응용해서 간단하게 몇 가지 예를 들어보겠습니다.</p>
<h3> &#8211; BlurFilter</h3>
<pre class="brush:ActionScript">
private function setTween():void{
	t = BetweenAS3.tween(box, { _blurFilter:{blurX:16, blurY:16} }, null, 2, Quart.easeOut);
	tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

	stage.addEventListener(MouseEvent.CLICK, hnClick);
}

private function hnClick(e:MouseEvent):void	{
	tg.stopOnComplete = false;
	tg.togglePause();
}
</pre>
<p><object style="width: 480px; height: 160px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="160" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_blurFilter.swf" /><embed style="width: 480px; height: 160px;" type="application/x-shockwave-flash" width="480" height="160" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_blurFilter.swf" menu="false" loop="false" play="false"></embed></object></p>
<h3> &#8211; ColorMatrixFilter</h3>
<pre class="brush:ActionScript">
private function setTween():void{
	t = BetweenAS3.tween(box,
		{ _colorMatrixFilter:{
			matrix:[
				1, 0, 0, 0, 255,
				0, 1, 0, 0, 255,
				0, 0, 1, 0, 255,
				0, 0, 0, 1, 0
				]
			}
		},
		{ _colorMatrixFilter:{
			matrix:[
				1, 0, 0, 0, -255,
				0, 1, 0, 0, -255,
				0, 0, 1, 0, -255,
				0, 0, 0, 1, 0
				]
			}
		},
		2,
		Quart.easeOut);
	tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

	stage.addEventListener(MouseEvent.CLICK, hnClick);
}

private function hnClick(e:MouseEvent):void	{
	tg.stopOnComplete = false;
	tg.togglePause();
}
</pre>
<p><object style="width: 480px; height: 160px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="160" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_colorMatrixFilter.swf" /><embed style="width: 480px; height: 160px;" type="application/x-shockwave-flash" width="480" height="160" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_colorMatrixFilter.swf" menu="false" loop="false" play="false"></embed></object></p>
<h3> &#8211; DropShadowFilter</h3>
<pre class="brush:ActionScript">
private function setTween():void{
	box.filters = [new DropShadowFilter(4, 0, 0x000000, 0, 4, 4)];
	t = BetweenAS3.tween(box,
		{ _dropShadowFilter:{
			alpha:1,
			angle:365,
			distance:16
		} },
		{ _dropShadowFilter:{
			alpha:0,
			angle:0,
			distance:16
		} },
		2,
		Quart.easeOut);
	tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

	stage.addEventListener(MouseEvent.CLICK, hnClick);
}

private function hnClick(e:MouseEvent):void	{
	tg.stopOnComplete = false;
	tg.togglePause();
}
</pre>
<p><object style="width: 480px; height: 160px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="160" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_dropShadowFilter.swf" /><embed style="width: 480px; height: 160px;" type="application/x-shockwave-flash" width="480" height="160" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_dropShadowFilter.swf" menu="false" loop="false" play="false"></embed></object></p>
<h3> &#8211; GlowFilter</h3>
<pre class="brush:ActionScript">
private function setTween():void{
	box.filters = [new GlowFilter(0x000000, 1, 0, 0, 2, 3)];
	t = BetweenAS3.tween(box,
		{ _glowFilter:{
			color:0x000000,
			alpha:1,
			blurX:16,
			blurY:16,
			strength:2
		} },
		{ _glowFilter:{
			color:0x000000,
			alpha:0,
			blurX:16,
			blurY:16,
			strength:2
		} },
		2,
		Quart.easeOut);
	tg = BetweenAS3.serial(t, BetweenAS3.reverse(t));

	stage.addEventListener(MouseEvent.CLICK, hnClick);
}

private function hnClick(e:MouseEvent):void	{
	tg.stopOnComplete = false;
	tg.togglePause();
}
</pre>
<p><object style="width: 480px; height: 160px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="160" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_glowFilter.swf" /><embed style="width: 480px; height: 160px;" type="application/x-shockwave-flash" width="480" height="160" src="http://blog.flasia.com/wp-content/uploads/2010/01/BetweenAS3_glowFilter.swf" menu="false" loop="false" play="false"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/1384/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BetweenAS3 트윈을 그룹으로 만들어 제어하기</title>
		<link>http://blog.flasia.com/archives/1300</link>
		<comments>http://blog.flasia.com/archives/1300#comments</comments>
		<pubDate>Sun, 18 Oct 2009 13:46:27 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=1300</guid>
		<description><![CDATA[트윈을 사용해서 무비를 제작하다 보면 다수의 트윈을 만들고 동시에 재생시키거나 순차적으로 재생시키는 경우가 종종 있습니다.
동시에 재생시키는 것은 그다지 어렵지 않지만, 순차적으로 재생시키는 것은  [...]]]></description>
			<content:encoded><![CDATA[<p>트윈을 사용해서 무비를 제작하다 보면 다수의 트윈을 만들고 동시에 재생시키거나 순차적으로 재생시키는 경우가 종종 있습니다.<br />
동시에 재생시키는 것은 그다지 어렵지 않지만, 순차적으로 재생시키는 것은 좀 번거로운 작업이죠.<br />
BetweenAS3에서는 이처럼 <span style="color: #800080;"><strong>다수의 트윈을 그룹으로 묶어 동시에 재생하거나 순차적으로 재생</strong></span>할 수 있는 함수를 제공합니다.</p>
<p>우선, 다수의 트윈을 동시에 재생하는 방법을 알아보겠습니다.<br />
아래 무비를 클릭하면 3개의 트윈이 동시에 재생되는 것을 볼 수 있는데,<br />
<object style="width: 500px; height: 120px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="120" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3GroupParallel.swf" /><embed style="width: 500px; height: 120px;" type="application/x-shockwave-flash" width="400" height="120" src="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3GroupParallel.swf" menu="false" loop="false" play="false"></embed></object><br />
<em>BetweenAS3.parallel()</em>메서드를 사용하면 됩니다.<br />
인수로는 그룹으로 만들고 싶은 트윈들을 <strong>&#8220;,&#8221;</strong> 로 구분해서 넣어주면 되고,<br />
같은 기능을 가진 <em>BetweenAS3.parallelTweens()</em> 메서드의 경우는 인수가 배열형식이어야 합니다.<br />
<span id="more-1300"></span></p>
<pre class="brush:ActionScript">package {

	import flash.display.Sprite;
	import flash.events.MouseEvent;

	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.*;
	import org.libspark.betweenas3.tweens.ITween;

	public class BetweenAS3Group extends Sprite
	{

		public function BetweenAS3Group()
		{
			stage.addEventListener(MouseEvent.CLICK, hnClick);
		}

		private function createBox($y:Number, $color:uint = 0x000000):Sprite
		{
			var box:Sprite = new Sprite();
			box.graphics.beginFill($color);
			box.graphics.drawRect(-10, -10, 20, 20);
			box.graphics.endFill();
			addChild(box);
			box.x = 20;
			box.y = $y;
			return box;
		}

		private function hnClick(e:MouseEvent):void
		{
			var box1:Sprite = createBox(20);
			var box2:Sprite = createBox(60, 0xff6600);
			var box3:Sprite = createBox(100, 0x0066ff);

			var t1:ITween = BetweenAS3.to(box1, {x:300, rotation:360}, 1.5, Bounce.easeOut);
			var t2:ITween = BetweenAS3.to(box2, {x:320, rotation:360}, 1.5, Bounce.easeOut);
			var t3:ITween = BetweenAS3.to(box3, {x:340, rotation:360}, 1.5, Bounce.easeOut);

			BetweenAS3.parallel(t1, t2, t3).play();
		}
	}
}</pre>
<hr />
다음은 다수의 트윈들을 순차적으로 재생하는 방법입니다.<br />
아래 무비를 클릭하면 3개의 트윈이 순차적으로 재생되는 것을 볼 수 있는데,<br />
<object style="width: 500px; height: 120px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="120" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3GroupSerial.swf" /><embed style="width: 500px; height: 120px;" type="application/x-shockwave-flash" width="400" height="120" src="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3GroupSerial.swf" menu="false" loop="false" play="false"></embed></object><br />
<em>BetweenAS3.serial()</em>메서드를 사용하면 되며, 인수는 <em>BetweenAS3.parallel()</em> 과 마찬가지로 트윈들을 <strong>&#8220;,&#8221;</strong> 로 구분해서 넣어주면 됩니다.<br />
같은 기능을 가진 <em>BetweenAS3.serialTweens()</em> 메서드의 경우는 인수가 배열형식이어야 합니다.</p>
<pre class="brush:ActionScript">private function hnClick(e:MouseEvent):void
{
	var box1:Sprite = createBox(20);
	var box2:Sprite = createBox(60, 0xff6600);
	var box3:Sprite = createBox(100, 0x0066ff);

	var t1:ITween = BetweenAS3.to(box1, {x:300, rotation:360}, 1.5, Bounce.easeOut);
	var t2:ITween = BetweenAS3.to(box2, {x:320, rotation:360}, 1.5, Bounce.easeOut);
	var t3:ITween = BetweenAS3.to(box3, {x:340, rotation:360}, 1.5, Bounce.easeOut);

	BetweenAS3.serial(t1, t2, t3).play();
}</pre>
<hr />
아래는 재미삼아 ^^<br />
<object style="width: 500px; height: 120px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="120" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3GroupParallelExam.swf" /><embed style="width: 500px; height: 120px;" type="application/x-shockwave-flash" width="400" height="120" src="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3GroupParallelExam.swf" menu="false" loop="false" play="false"></embed></object></p>
<pre class="brush:ActionScript">private function hnClick(e:MouseEvent):void
{
	var box1:Sprite = createBox(20);
	var box2:Sprite = createBox(60, 0xff6600);
	var box3:Sprite = createBox(100, 0x0066ff);

	var t1:ITween = BetweenAS3.to(box1, {x:300, rotation:360}, 1.5, Bounce.easeOut);
	var t2:ITween = BetweenAS3.to(box2, {x:320, rotation:360}, 1.5, Bounce.easeOut);
	var t3:ITween = BetweenAS3.to(box3, {x:340, rotation:360}, 1.5, Bounce.easeOut);

	BetweenAS3.serial(
		t1,
		BetweenAS3.serial(
			BetweenAS3.slice(t2, 0.0, 0.5, false),
			BetweenAS3.scale(BetweenAS3.slice(t2, 0.5, 1, false), 10),
			BetweenAS3.slice(t2, 1, 1.5, false)),
		BetweenAS3.serial(
			BetweenAS3.slice(t3, 0.0, 0.5, false),
			BetweenAS3.slice(t3, 0.5, 1, false)),
			BetweenAS3.scale(BetweenAS3.slice(t3, 1, 1.5, false), 10),
			BetweenAS3.reverse(t3, true),
		BetweenAS3.reverse(t2, true),
		BetweenAS3.reverse(BetweenAS3.scale(t1, 5))
	).play();
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/1300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BetweenAS3 이벤트 등록하기</title>
		<link>http://blog.flasia.com/archives/1271</link>
		<comments>http://blog.flasia.com/archives/1271#comments</comments>
		<pubDate>Mon, 12 Oct 2009 07:50:07 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=1271</guid>
		<description><![CDATA[BetweenAS3에서도 이벤트를 등록하고 해당 이벤트가 발생하였을 때 함수를 호출할 수 있습니다.
이벤트를 등록해서 해당 이벤트 발생　시 함수를 호출하는 방법에는 두　가지가 있는데,

먼저 &#8 [...]]]></description>
			<content:encoded><![CDATA[<p>BetweenAS3에서도 이벤트를 등록하고 해당 이벤트가 발생하였을 때 함수를 호출할 수 있습니다.<br />
이벤트를 등록해서 해당 이벤트 발생　시 함수를 호출하는 방법에는 두　가지가 있는데,</p>
<hr />
먼저 <strong>&#8220;이벤트 리스너 객체를 등록해서 사용하는 방법&#8221;</strong>입니다.</p>
<pre class="brush:ActionScript">
// tween이 종료될 때 이벤트 발생
var t:ITween = BetweenAS3.to(box, {x:280}, 1.5, Bounce.easeOut);
t.addEventListener(TweenEvent.COMPLETE, hnTweenComplete);
t.play();

private function hnTweenComplete(e:TweenEvent):void
{
    trace("TweenComplete");
}
</pre>
<div style="margin: 4px 0px; padding: 4px 10px; background-color: #f0f0f0;">
<em>사용 가능한 이벤트</em><br />
COMPLETE &#8211; tween이 종료되었을 때 이벤트 발생.<br />
PLAY &#8211; tween이 시작되었을 때 이벤트 발생.<br />
STOP &#8211; tween이 정지되었을 때 이벤트 발생.<br />
UPDATE &#8211; tween이 진행되고 있는 동안 이벤트 발생.
</div>
<p><span id="more-1271"></span></p>
<hr />
아래는 <strong>&#8220;BetweenAS3의 메서드를 이용하는 방법&#8221;</strong>입니다.<br />
이 방법의 이점은 <span style="text-decoration:underline">변수를 배열의 형태로 전달</span>할 수 있습니다.</p>
<pre class="brush:ActionScript">
// tween이 종료될 때 이벤트 발생(변수전달 가능)
var t:ITween = BetweenAS3.to(box, {x:280}, 1.5, Bounce.easeOut);
t.onComplete = hnTweenComplete;
t.onCompleteParams = ["param1", "param2"];
t.play();

private function hnTweenComplete(_param1:String, _param2:String):void
{
    trace(_param1, _param2);
}
</pre>
<div style="margin: 4px 0px; padding: 4px 10px; background-color: #f0f0f0;">
<em>사용 가능한 이벤트</em><br />
onComplete &#8211; tween이 종료되었을 때 이벤트 발생.<br />
onCompleteParams &#8211; onComplete 메서드에서 지정한 함수로 넘겨줄 변수.<br />
onPlay &#8211; tween이 시작되었을 때 이벤트 발생.<br />
onPlayParams &#8211; onPlay 메서드에서 지정한 함수로 넘겨줄 변수.<br />
onStop &#8211; tween이 정지되었을 때 이벤트 발생.<br />
onStopParams &#8211; onStop 메서드에서 지정한 함수로 넘겨줄 변수.<br />
onUpdate &#8211; tween이 진행되고 있는 동안 이벤트 발생.<br />
onUpdateParams &#8211; onUpdate 메서드에서 지정한 함수로 넘겨줄 변수.
</div>
<hr />
<strong>YangGOON</strong>님께서 코멘트로 좋은 정보를 알려주셨기에 내용을 좀 더 추가해 봅니다.</p>
<p>아래는 스테이지를 클릭하면 작은 사각형 박스가 지정한 위치로 트윈되는 무비입니다.<br />
하지만, 스테이지를 연속으로 클릭하면 트윈이 좀 엉성하게 재생되는 것을 볼 수 있습니다.<br />
스테이지를 클릭할 때마다 <em>activeMotion()</em>함수를 호출하기 때문인데요.<br />
<strong>YangGOON</strong>님께서 알려주신 코드가 이럴 때 유용하게 사용될 것 같네요.</p>
<pre class="brush:ActionScript">
public class BetweenAS3Test extends Sprite {

	private var tween:ITween;
	private var box:Sprite;

	public function BetweenAS3Test():void {
		box = new Sprite();
		box.graphics.beginFill(0x666666, 1);
		box.graphics.drawRect(-10, -10, 20, 20);
		box.graphics.endFill();
		box.x = box.y = 20;
		addChild(box);

		stage.addEventListener(MouseEvent.CLICK, hnClick);
	}

	private function hnClick(e:MouseEvent):void {
		trace("hnClick");
		activeMotion(box, 480, 80, 1);
	}

	private function activeMotion(target:Object, xPos:int, yPos:int, timeValue:Number):void {
		this.tween = BetweenAS3.tween(target, { x:xPos, y:yPos }, { x:20, y:20 }, timeValue, Cubic.easeInOut);
		this.tween.play();
	}
}
</pre>
<p><object style="width: 500px; height: 100px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3noRemoveTween.swf" /><embed style="width: 500px; height: 100px;" type="application/x-shockwave-flash" width="500" height="100" src="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3noRemoveTween.swf" menu="false" loop="false" play="false"></embed></object></p>
<p>위 코드에 <strong>YangGOON</strong>님께서 알려주신 코드를 추가해 보았습니다.<br />
<em>activeMotion()</em>함수가 호출될 때 지금 트윈이 재생 중인지를 체크 후 재생 중이라면 <em>removeTween()</em>함수를 호출합니다.<br />
이렇게 되면 스테이지를 연속으로 클릭해도 클릭할 때마다 트윈을 처음부터 재생해 줍니다.<br />
조금 응용한다면 트윈이 재생 중일 경우 마우스 이벤트를 막아두는 것도 방법이 되겠네요~~</p>
<pre class="brush:ActionScript">
public class BetweenAS3Test extends Sprite {

	private var tween:ITween;
	private var box:Sprite;

	public function BetweenAS3Test():void {
		box = new Sprite();
		box.graphics.beginFill(0x666666, 1);
		box.graphics.drawRect(-10, -10, 20, 20);
		box.graphics.endFill();
		box.x = box.y = 20;
		addChild(box);

		stage.addEventListener(MouseEvent.CLICK, hnClick);
	}

	private function hnClick(e:MouseEvent):void {
		trace("hnClick");
		activeMotion(box, 480, 80, 1);
	}

	private function activeMotion(target:Object, xPos:int, yPos:int, timeValue:Number):void {
		if (this.tween &#038;&#038; this.tween.isPlaying) this.removeTween();

		this.tween = BetweenAS3.tween(target, { x:xPos, y:yPos }, { x:20, y:20 }, timeValue, Cubic.easeInOut);
		this.tween.play();
	}

	private function removeTween():void {
		trace("removeTween");
		this.tween.stop();
		this.tween = null;
	}
}
</pre>
<p><object style="width: 500px; height: 100px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3RemoveTween.swf" /><embed style="width: 500px; height: 100px;" type="application/x-shockwave-flash" width="500" height="100" src="http://blog.flasia.com/wp-content/uploads/2009/10/BetweenAS3RemoveTween.swf" menu="false" loop="false" play="false"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/1271/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BetweenAS3 각종메서드 이해하기</title>
		<link>http://blog.flasia.com/archives/1182</link>
		<comments>http://blog.flasia.com/archives/1182#comments</comments>
		<pubDate>Sat, 26 Sep 2009 06:12:37 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=1182</guid>
		<description><![CDATA[이번에는 BetweenAS3에서 제공되는 각종 메서드에 대해서 간단히 알아보겠습니다.
.to
// box의 x값을 현재 위치에서 280까지 이동
var t:ITween = BetweenAS3.to( [...]]]></description>
			<content:encoded><![CDATA[<p>이번에는 BetweenAS3에서 제공되는 각종 메서드에 대해서 간단히 알아보겠습니다.</p>
<p><em>.to</em></p>
<pre class="brush:ActionScript">// box의 x값을 현재 위치에서 280까지 이동
var t:ITween = BetweenAS3.to(box, {x:280}, 1.5, Bounce.easeOut);
t.play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3To.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3To.swf" menu="false" loop="false" play="false"></embed></object></p>
<p><em>.from</em></p>
<pre class="brush:ActionScript">// box의 x값을 280에서 현재 위치로 이동
var t:ITween = BetweenAS3.from(box, {x:280}, 1.5, Bounce.easeOut);
t.play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3From.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3From.swf" menu="false" loop="false" play="false"></embed></object><br />
<span id="more-1182"></span><br />
<em>.stopOnComplete </em></p>
<pre class="brush:ActionScript">// box의 x값을 현재 위치에서 280까지 이동(무한반복)
var t:ITween = BetweenAS3.to(box, {x:280}, 1.5, Bounce.easeOut);
t.stopOnComplete = false;
t.play();</pre>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Loop.swf" /><embed type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Loop.swf" menu="false" loop="false" play="false"></embed></object></p>
<p><em>.delay</em></p>
<pre class="brush:ActionScript">// tween을 지정한 시간만큼 지연해서 실행
var t:ITween = BetweenAS3.tween(box, {x:280}, null, 1.5, Bounce.easeOut);
BetweenAS3.delay(t, 1.0).play();</pre>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Delay.swf" /><embed type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Delay.swf" menu="false" loop="false" play="false"></embed></object></p>
<p><em>.reverse</em></p>
<pre class="brush:ActionScript">// tween을 역으로 실행
var t:ITween = BetweenAS3.tween(box, {x:280}, null, 1.5, Bounce.easeOut);
BetweenAS3.reverse(t).play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Reverse.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Reverse.swf" menu="false" loop="false" play="false"></embed></object></p>
<p><em>.scale</em></p>
<pre class="brush:ActionScript">// tween의 스케일을 설정(4.0으로 지정했기 때문에 6초(1.5 x 4.0) 동안 tween이 실행된다.)
var t:ITween = BetweenAS3.tween(box, {x:280}, null, 1.5, Bounce.easeOut);
BetweenAS3.scale(t, 4.0).play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Scale.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Scale.swf" menu="false" loop="false" play="false"></embed></object></p>
<p><em>.slice</em></p>
<pre class="brush:ActionScript">// tween의 특정 부분만 실행(0.4초에서 1.2초 사이의 구간만 실행)
var t:ITween = BetweenAS3.tween(box, {x:280}, null, 1.5, Bounce.easeOut);
BetweenAS3.slice(t, 0.4, 1.2).play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Slice.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Slice.swf" menu="false" loop="false" play="false"></embed></object></p>
<p><em>.repeat</em></p>
<pre class="brush:ActionScript">// 해당 tween을 설정한 횟수만큼 반복해서 실행
var t:ITween = BetweenAS3.tween(box, {x:280}, null, 1.5, Bounce.easeOut);
BetweenAS3.repeat(t, 3).play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Repeat.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3Repeat.swf" menu="false" loop="false" play="false"></embed></object></p>
<pre class="brush:ActionScript">// 위의 메서드들을 중복 실행
var t:ITween = BetweenAS3.tween(box, {x:280}, null, 1.5, Bounce.easeOut);
BetweenAS3.delay(
	BetweenAS3.repeat(
        BetweenAS3.reverse(
            BetweenAS3.scale(
                BetweenAS3.slice(t, 0.4, 1.2),
                3.0
            )
        ), 3
    ), 1
).play();</pre>
<p><object style="width: 400px; height: 40px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="src" value="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3All.swf" /><embed style="width: 400px; height: 40px;" type="application/x-shockwave-flash" width="400" height="40" src="http://blog.flasia.com/wp-content/uploads/2009/09/BetweenAS3All.swf" menu="false" loop="false" play="false"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/1182/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BetweenAS3 시작하기</title>
		<link>http://blog.flasia.com/archives/1146</link>
		<comments>http://blog.flasia.com/archives/1146#comments</comments>
		<pubDate>Tue, 22 Sep 2009 05:16:50 +0000</pubDate>
		<dc:creator>Siaa</dc:creator>
				<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>

		<guid isPermaLink="false">http://blog.flasia.com/?p=1146</guid>
		<description><![CDATA[얼마 전(2009년 6월 18일) Tweener의 개발이 종료되었다는 소식이 있었습니다.
개인적으로는 TweenMax를 주로 사용하고 있었기 때문에 대수롭지 않게 받아들였지만, 이곳(일본)의 플래셔 [...]]]></description>
			<content:encoded><![CDATA[<p>얼마 전(2009년 6월 18일) <a href="http://code.google.com/p/tweener/" target="_blank">Tweener</a>의 개발이 종료되었다는 소식이 있었습니다.<br />
개인적으로는 <a href="http://blog.greensock.com/tweenmaxas3/" target="_blank">TweenMax</a>를 주로 사용하고 있었기 때문에 대수롭지 않게 받아들였지만, 이곳(일본)의 플래셔들 사이에서는 Tweener를 대체할 tweening 라이브러리에 대한 이야기가 화두가 되었습니다.<br />
때마침 <a href="http://www.libspark.org/wiki/BetweenAS3/en" target="_blank">BetweenerAS3</a> 라는 일본의 플래셔(<a href="http://www.be-interactive.org/" target="_blank">Yoshihiro Shindo</a>)가 만든 tweening 라이브러리의 알파버전이 공개되었고, 현재 공개된 다양한 tweening 라이브러리에 비해 월등한 퍼포먼스를 보여주었습니다.</p>
<div style="margin: 10px 0px; padding: 10px 10px; background-color: #f9f9f9;">
<em>퍼포먼스 비교</em> - <a href="http://www.be-interactive.org/works/20090911/Particle/index.html" target="_blank">BetweenAS3 Performance Comparison Demo 2</a></div>
<p>아직은 알파버전이지만, 뛰어난 퍼포먼스와 다양한 기능을 가진 <a href="http://www.libspark.org/wiki/BetweenAS3/en" target="_blank">BetweenerAS3</a> 라이브러리에 대해 익혀둘 필요가 있다고 생각되어, 차근차근 익혀가면서 메모를 남겨둘까 합니다.<br />
<span id="more-1146"></span></p>
<div style="margin: 10px 0px; padding: 10px 10px; background-color: #f9f9f9;">
<em>다운로드</em><br />
현재(2009년 9월 21일) 릴리즈된 버전은 Alpha r3022버전이며,<br />
<a href="http://www.libspark.org/wiki/BetweenAS3/en" target="_blank">http://www.libspark.org/wiki/BetweenAS3/en</a> 에서 SVN, ZIP, SWC 형식으로 다운로드 받을 수 있습니다. </div>
<p>우선, 가장 기본적인 tween메서드의 인수에 대해 살펴보면,</p>
<pre class="brush:ActionScript">BetweenAS3.tween(Target, ToValues, FromValues, Time, Easing);</pre>
<ul>
<li>Target &#8211; 대상이 되는 오브젝트</li>
<li>toValues &#8211; tween으로 적용 될 값</li>
<li>fromValues &#8211; tween이 시작될 때의 값</li>
<li>Time &#8211; tween이 진행되는 시간</li>
<li>Easing &#8211; easing의 종류</li>
</ul>
<p>그리고, 아래는 기본적인 Tween 적용 예입니다.</p>
<pre class="brush:ActionScript">
package {
	import flash.display.Sprite;

	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.*;
	import org.libspark.betweenas3.tweens.ITween;

	public class BetweenAS3Exam extends Sprite
	{
		public function BetweenAS3Exam()
		{
			var box:Sprite = new Sprite();
			box.graphics.beginFill(0x000000);
			box.graphics.drawRect(-10, -10, 20, 20);
			box.graphics.endFill();
			addChild(box);

			var t:ITween = BetweenAS3.tween(box, {x:200, y:200}, {x:0, y:0}, 0.6, Bounce.easeOut);
			t.play();
		}
	}
}</pre>
<p>한가지 주의해야 할 점은, 다른 tweening 라이브러리는 메서드를 호출하면 바로 tweening이 실행되었지만, BetweenAS3는 <strong>play();</strong> 메서드를 호출하지 않으면 tweening이 시작되지 않습니다.</p>
<p>아래는 tween메서드의 몇 가지 활용 예입니다.</p>
<pre class="brush:ActionScript">
// box의 x값을 현재 위치에서 200까지 이동
var t:ITween = BetweenAS3.tween(box, {x:200});
t.play();
</pre>
<pre class="brush:ActionScript">
// box의 x값을 100에서 200까지 이동
var t:ITween = BetweenAS3.tween(box, {x:200}, {x:100});
t.play();
</pre>
<pre class="brush:ActionScript">
// box의 x값을 100에서 현재 위치로 이동
var t:ITween = BetweenAS3.tween(box, null, {x:100});
t.play();
</pre>
<pre class="brush:ActionScript">
// ($를 붙이면 상대값으로 계산) box의 현재 x값이 50이라면 150(100+50)에서 250(200+50)까지 이동
var t:ITween = BetweenAS3.tween(box, {$x:200}, {$x:100});
t.play();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flasia.com/archives/1146/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
