<?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>package a24</title>
	<atom:link href="http://package.a24.cat/feed/" rel="self" type="application/rss+xml" />
	<link>http://package.a24.cat</link>
	<description>Do you like method chain ?</description>
	<lastBuildDate>Sun, 01 Apr 2012 23:43:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tween24 一部有料化のお知らせ</title>
		<link>http://package.a24.cat/2012/04/01/tween24-paid/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tween24-paid</link>
		<comments>http://package.a24.cat/2012/04/01/tween24-paid/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 01:16:37 +0000</pubDate>
		<dc:creator>Atsushi Kaga</dc:creator>
				<category><![CDATA[a24]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[Tween24]]></category>

		<guid isPermaLink="false">http://package.a24.cat/?p=203</guid>
		<description><![CDATA[先日ニートになった私ですが、今後の食いぶちとして今後リリースされる Tween24 の一部の機能を有料化したいと思います。 対象となるのは、以下の機能です。 基準点を変更してのトゥイーン DisplayObject の基 [...]]]></description>
			<content:encoded><![CDATA[<p>先日ニートになった私ですが、今後の食いぶちとして今後リリースされる Tween24 の一部の機能を有料化したいと思います。</p>
<p>対象となるのは、以下の機能です。</p>
<p><span id="more-203"></span></p>
<h3>基準点を変更してのトゥイーン</h3>
<p>DisplayObject の基準点を擬似的に変更し、移動や回転、拡大縮小のトゥイーンが可能になります。左上基準で作った MovieClip を中央基準でトゥイーンをさせたり、トゥイーン毎に基準点を変更させることができます。</p>
<pre class="brush: as3; title: ; notranslate">
// 基準点を変更しながら回転する
Tween24.loop(0,
  Tween24.prop(box).x(0).rotation(0),
  Tween24.serial(
    Tween24.tween(box, 0.6).$$rotation(90).align(Align24.BOTTOM_RIGHT),
    Tween24.tween(box, 0.6).$$rotation(90).align(Align24.TOP_RIGHT),
    Tween24.tween(box, 0.6).$$rotation(90).align(Align24.TOP_LEFT),
    Tween24.tween(box, 0.6).$$rotation(90).align(Align24.BOTTOM_LEFT)
  )
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20120401/align.swf" title="Demo: Tween with align">動作DEMO</a></p>
<h3>AddChildやRemoveChildに連動したトゥイーン</h3>
<p>EventTween24 に syncAddChild(&#8230;tweens) / syncRemoveChild(&#8230;tweens) のメソッドが追加されます。これらのメソッドで設定したトゥイーンは、Tween24.addChild() / removeChild() 系のアクションに連動して再生されます。<br />
（※ Progression のCast系オブジェクトの atCastAdded() / atCastRemoved() に似た動作になります。）</p>
<pre class="brush: as3; title: ; notranslate">
// AddChild されたらフェードイン
EventTween24.syncAddChild(box,
  Tween24.prop(box).fadeOut(),
  Tween24.tween(box, 1).fadeIn()
);

// フェードアウトした後、RemoveChild
EventTween24.syncRemoveChild(box,
  Tween24.tween(box, 1).fadeOut()
);

// AddChild と RemoveChild を繰り返す
Tween24.loop(0,
  Tween24.addChild(this, box),
  Tween24.wait(1),
  Tween24.removeChild(box)
  Tween24.wait(1)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20120401/syncAddRemove.swf" title="Demo: EventTween24.syncAddChild() / syncRemoveChild()">動作DEMO</a></p>
<h3>プラグイン機能で独自プロパティの補完</h3>
<p>プラグイン機能により、Tween24 では補完されないプロパティの補完が可能になります。次期バージョンでは Sound や Matrix を制御するプラグインが実装されます。</p>
<pre class="brush: as3; title: ; notranslate">
// MatrixTween24 プラグインで傾斜変形
Tween24.loop(0,
  MatrixTween24.tween(box, 1).c(1),
  MatrixTween24.tween(box, 1).c(0),
  MatrixTween24.tween(box, 1).b(1),
  MatrixTween24.tween(box, 1).b(0)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20120401/matrix.swf" title="Demo: MatrixTween24">動作DEMO</a></p>
<h3>気になる料金は</h3>
<p>0円です。無料です。エイプリルフールですね、本当にありがとうございました。<br />
実装される機能は本当です。他にも多くの機能追加を予定しています。<br />
お楽しみに！</p>
]]></content:encoded>
			<wfw:commentRss>http://package.a24.cat/2012/04/01/tween24-paid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tween24 バージョン1.0.1 リリース</title>
		<link>http://package.a24.cat/2011/12/24/tween24-1-0-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tween24-1-0-1</link>
		<comments>http://package.a24.cat/2011/12/24/tween24-1-0-1/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 14:42:38 +0000</pubDate>
		<dc:creator>Atsushi Kaga</dc:creator>
				<category><![CDATA[a24]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[Tween24]]></category>

		<guid isPermaLink="false">http://package.a24.cat/?p=113</guid>
		<description><![CDATA[Tween24 バージョン1.0.1 をリリースしました。 今回はバグFIX等、安定性を重視したアップデートです。 ダウンロードはこちら / Download 変更点 名称変更 Ease24._4_QuintIn ->  [...]]]></description>
			<content:encoded><![CDATA[<p>Tween24 バージョン1.0.1 をリリースしました。<br />
今回はバグFIX等、安定性を重視したアップデートです。</p>
<p><span id="more-113"></span></p>
<div class="download"><a href="http://package.a24.cat/tween24/">ダウンロードはこちら / Download</a></div>
<h3>変更点</h3>
<h4>名称変更</h4>
<ul>
<li>Ease24._4_QuintIn -> Ease24._5_QuintIn へ変更しました。</li>
<li>Ease24._4_QuintOut -> Ease24._5_QuintOut へ変更しました。</li>
<li>Ease24._4_QuintInOut -> Ease24._5_QuintInOut へ変更しました。</li>
<li>Ease24._4_QuintOutIn -> Ease24._5_QuintOutIn へ変更しました。</li>
<li>Ease24._5_QuartIn -> Ease24._4_QuartIn へ変更しました。</li>
<li>Ease24._5_QuartOut -> Ease24._4_QuartOut へ変更しました。</li>
<li>Ease24._5_QuartInOut -> Ease24._4_QuartInOut へ変更しました。</li>
<li>Ease24._5_QuartOutIn -> Ease24._4_QuartOutIn へ変更しました。</li>
</ul>
<h4>バグFIX</h4>
<ul>
<li>トゥイーンの delay 中に pause() で一時停止した後、再度 play() した際に delay が正しく動作しない不具合を修正しました。</li>
<li>ifCase() で falseTween を指定せず、かつフラグが false だった場合、トゥイーンが正しく動作しない不具合を修正しました。</li>
</ul>
<h4>その他</h4>
<ul>
<li>パフォーマンスとメモリ消費を改善しました。</li>
</ul>
<h3>正式名称</h3>
<p>「Tween24」の読み方について、Twitterでいくつか意見をいただいたので、Facebookでアンケートを行ってみました。その結果、</p>
<blockquote><p>
和名：<strong>トゥイーン ニジュウヨン</strong><br />
英名：<strong>tweenty four</strong>
</p></blockquote>
<p>としたいと思います。投票いただいた方ありがとうございました！</p>
<p><img src="http://package.a24.cat/assets/20111224/question.jpg" width="560" height="180" /></p>
<h3>ASDoc公開</h3>
<p>ASDocを公開しました。<br />
Tween24 version 1.0.1 : <a href="http://package.a24.cat/libs/tween24/asdoc/1.0.1/">http://package.a24.cat/libs/tween24/asdoc/1.0.1/</a></p>
<h3>次期アップデート予定</h3>
<p>次回のアップデートでは、機能追加やパフォーパンスの向上などを予定しています。</p>
<ul>
<li>パフォーマンスの向上</li>
<li>プラグイン機能の追加</li>
<li>デバッグ向けツール追加</li>
<li>その他機能追加</li>
</ul>
<p>感想や要望、バグなどありましたら、この記事のコメントかTwitter：@a_24 までお気軽にご連絡ください。</p>
]]></content:encoded>
			<wfw:commentRss>http://package.a24.cat/2011/12/24/tween24-1-0-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Tween24がProgressionのコマンドで使える「DoTween24」</title>
		<link>http://package.a24.cat/2011/12/13/dotween24/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dotween24</link>
		<comments>http://package.a24.cat/2011/12/13/dotween24/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 01:00:26 +0000</pubDate>
		<dc:creator>Atsushi Kaga</dc:creator>
				<category><![CDATA[a24]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[DoTween24]]></category>
		<category><![CDATA[external]]></category>
		<category><![CDATA[progression]]></category>

		<guid isPermaLink="false">http://package.a24.cat/?p=87</guid>
		<description><![CDATA[Progressionのコマンドでも、今までと同じようにTween24が使えます。 そう、DoTween24ならね。 Source code (2KB) 使い方 他のコマンドと同様にインスタンスをリストに登録し、引数に再 [...]]]></description>
			<content:encoded><![CDATA[<p>Progressionのコマンドでも、今までと同じようにTween24が使えます。<br />
そう、DoTween24ならね。</p>
<p><span id="more-87"></span></p>
<div class="download"><a href="http://package.a24.cat/assets/20111213/dotween24.zip" onclick="_gaq.push(['_trackEvent', 'download', 'click', 'dotween24.zip', opt_value]);">Source code (2KB)</a></div>
<h3>使い方</h3>
<p>他のコマンドと同様にインスタンスをリストに登録し、引数に再生したいトゥイーンを渡します。渡したトゥイーンはシリアルトゥイーンとして順番に再生されていきます。</p>
<pre class="brush: as3; title: ; notranslate">
// 記述例
addCommand(
　new DoTween24(
　　Tween24.prop(moja).fadeOut(),
　　Tween24.wait(1),
　　Tween24.addChild(container, moja),
　　Tween24.tween(moja, 1).fadeIn()
　)
);
</pre>
<h3>仕組み</h3>
<p>Funcコマンドを拡張しています、とてもシンプルです。<br />
tween.play を実行し、Tween24Event.COMPLETE イベントを受信するまで待機させています。</p>
<pre class="brush: as3; title: ; notranslate">
package a24.external.progression.commands
{
　import a24.tween.Tween24;
　import a24.tween.Tween24Event;
　import jp.progression.commands.Command;
　import jp.progression.commands.Func;

　public class DoTween24 extends Func
　{
　　private var _tween:Tween24;

　　public function DoTween24(...serialTweens)
　　{
　　　_tween = Tween24.serial.apply(Tween24.serial, serialTweens);
　　　super(_tween.play, null, _tween.getDispatcher(), Tween24Event.COMPLETE, null);
　　}

　　private function _interrupt():void
　　{
 　　　_tween.stop();
　　}

　　public override function clone():Command
　　{
 　　　return new DoTween24(_tween);
　　}
　}
}
</pre>
<p>使ってみた感想やバグなどありましたら、この記事のコメントかTwitter：@a_24 or <a href="http://twitter.com/#!/search/realtime/%23tween24">#tween24</a> までお気軽にご連絡ください。</p>
<div class="download"><a href="http://package.a24.cat/assets/20111213/dotween24.zip" onclick="_gaq.push(['_trackEvent', 'download', 'click', 'dotween24.zip', opt_value]);">Source code (2KB)</a></div>
]]></content:encoded>
			<wfw:commentRss>http://package.a24.cat/2011/12/13/dotween24/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>メソッドチェーンでスラスラ書ける！AS3トゥイーンライブラリ「Tween24」</title>
		<link>http://package.a24.cat/2011/11/24/tween24/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tween24</link>
		<comments>http://package.a24.cat/2011/11/24/tween24/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 01:00:31 +0000</pubDate>
		<dc:creator>Atsushi Kaga</dc:creator>
				<category><![CDATA[a24]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[Tween24]]></category>

		<guid isPermaLink="false">http://package.a24.cat/?p=9</guid>
		<description><![CDATA[「思いついた演出をすぐに実装したい」 「頭の中ではできているのに、コーディングするのが面倒」 と、感じることはありませんか？ Flashコンテンツを作る上で欠かせないトゥイーンライブラリ。TweenerやBeTweenA [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://package.a24.cat/assets/20111124/tween24.jpg" width=”330” height”120” alt="Tween24" /></p>
<p>「思いついた演出をすぐに実装したい」<br />
「頭の中ではできているのに、コーディングするのが面倒」</p>
<p>と、感じることはありませんか？</p>
<p>Flashコンテンツを作る上で欠かせないトゥイーンライブラリ。TweenerやBeTweenAS3など、使ったことのある方も多いと思います。私自身、使い慣れているという点でTweenerをよく使っていましたが、いくつかの不満点がありました。</p>
<ul>
<li>機能が少ない。</li>
<li>トゥイーンを単体でしか再生できない。</li>
<li><span class="highlight">フィルタ系</span>のプロパティを扱うのが面倒。</li>
<li><span class="highlight">transitionをtransitoin</span>にタイプミスする。</li>
<li><span class="highlight bold">そもそもタイピングするのが面倒</span>。</li>
</ul>
<p>などなど</p>
<p>これらの点を解消するために、新しいライブラリ「<span class="highlight bold">Tween24</span>」を開発しました。</p>
<p><span id="more-9"></span></p>
<div class="download"><a href="http://package.a24.cat/tween24/">ダウンロードはこちら / Download</a></div>
<h3>メソッドチェーンで、新感覚コーディング</h3>
<p>Tween24の大きな特徴は、下記のように<span class="highlight bold">メソッドチェーン</span>でプロパティを指定するところです。</p>
<pre class="brush: as3; title: ; notranslate">
// 例）Tweenerの場合
FilterShortcuts.init();
Tweener.addTween(target, { time:1, transition:&quot;linear&quot;, x:100, y:200, _Blur_blurX:16, _Blur_blurY:16 } );

// 例）Tween24の場合
Tween24.tween(target, 1, Ease24._Linear).xy(100, 200).blur(16, 16).play();
</pre>
<p>メソッドチェーンで指定することにより、以下のようなメリットがあります。</p>
<ul>
<li>エディタのコード補完をフル活用できるので、<span class="highlight bold">タイピング数を劇的に減らします</span>。</li>
<li>補完機能によりプロパティ名などを覚える必要がなく、<span class="highlight bold">タイプミスもなくなります</span>。</li>
<li>ASDocなどのドキュメントを読まなくても、<span class="highlight bold">補完リストで全ての機能を大体把握することができます</span>。</li>
<li>一つのメソッドで複数のプロパティを設定できるので、<span class="highlight bold">コードを簡潔に</span>書くことができます。</li>
</ul>
<h3>動作パフォーマンス</h3>
<p><a href="http://wonderfl.net/c/u6MS">こちら</a>のベンチマークを元に、パフォーマンス検証しました。</p>
<p><img src="http://package.a24.cat/assets/20111124/bench.jpg" width=”400” height”220” alt="Tween24" /></p>
<p>環境によって差はあると思いますが、上の表のような感じになりました。パーティクルなどシビアにパフォーマンスを求められる場合はBetweenAS3やKTweenを使った方がいいと思いますが、そうでなければ問題なく使えるレベルだと思います。</p>
<p><a  name=tutorial class=anchor> </a></p>
<h3>チュートリアル</h3>
<ol>
<li><a href=#tween>通常トゥイーン</a></li>
<li><a href=#prop>プロパティ設定</a></li>
<li><a href=#ease>イージングの設定</a></li>
<li><a href=#serial>直列トゥイーン</a></li>
<li><a href=#parallel> 並列トゥイーン</a></li>
<li><a href=#lag>時間差トゥイーン</a></li>
<li><a href=#loop>繰り返しトゥイーン</a></li>
<li><a href=#$>相対値トゥイーン その1</a></li>
<li><a href=#$$>相対値トゥイーン その2</a></li>
<li><a href=#global>グローバル座標トゥイーン</a></li>
<li><a href=#bezier>ベジェトゥイーン</a></li>
<li><a href=#filters>フィルタトゥイーン</a></li>
<li><a href=#ifCase>条件分岐トゥイーン</a></li>
<li><a href=#tweenFunc>関数トゥイーン</a></li>
<li><a href=#skip>トゥイーンの途中で次のトゥイーンへ移行する</a></li>
<li><a href=#id_group>IDやグループでトゥイーンを操作</a></li>
<li><a href=#event>イベント連動トゥイーン</a></li>
<li><a href=#special>特殊プロパティ</a></li>
<li><a href=#action>その他アクション</a></li>
<li><a href=#custom>補完に対応していないプロパティのトゥイーン</a>（2011.11.24 12:00追記）</li>
</ol>
<div class="download"><a href="http://package.a24.cat/assets/20111124/tween24-1.0.zip" onclick="_gaq.push(['_trackEvent', 'download', 'click', 'tween24-1.0.zip_top', opt_value]);">Source code &#038; Sample(448KB)</a></div>
<p><a  name=tween class=anchor> </a></p>
<h3><a href=#tween>1. 通常トゥイーン</a></h3>
<p>通常のトゥイーンをさせる場合は、<span class="highlight bold">Tween24.tween()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// box1を、1秒かけてX座標400にトゥイーンします。
// Tween24.tween(ターゲット、時間、 イージング).プロパティ...
Tween24.tween(box1, 1).x(400).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_tween.swf" title="Demo: Tween24.tween()">動作デモ</a></p>
<p>ターゲットに配列を指定することで、<span class="highlight bold">複数ターゲット</span>を同時にトゥイーンさせることもできます。</p>
<pre class="brush: as3; title: ; notranslate">
var boxes:Array = [box1, box2, box3];
Tween24.tween(boxes, 1).x(400).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_tween2.swf" title="Demo: Tween24.tween()">動作デモ</a></p>
<p>また、インスタンスを変数に格納しておくことで<span class="highlight bold">イベントを設定</span>したり、play, pause, stop などのメソッドで<span class="highlight bold">トゥイーンを操作</span>できます。</p>
<pre class="brush: as3; title: ; notranslate">
var tween:Tween24 = Tween24.tween(box1, 1).x(400).delay(1);

// トゥイーン操作
tween.play(); // 再生
tween.pause(); // 一時停止
tween.stop(); // 停止

// イベント設定
tween.addEventListener(Tween24Event.PLAY, onPlay); // 再生開始時に呼び出される
tween.addEventListener(Tween24Event.DELAY, onDelay); // 遅延中に呼び出される
tween.addEventListener(Tween24Event.INIT, onInit); // トゥイーンの初期化時に呼び出される
tween.addEventListener(Tween24Event.PAUSE, onPause); // 一時停止時に呼び出される
tween.addEventListener(Tween24Event.STOP, onStop); // 停止時に呼び出される
tween.addEventListener(Tween24Event.UPDATE, onUpdate); // トゥイーン中に呼び出される
tween.addEventListener(Tween24Event.COMPLETE, onComplete); // トゥイーン完了時に呼び出される

// メソッドで設定も可能
tween.onPlay(onPlay);
tween.onDelay(onDelay);
tween.onInit(onInit);
tween.onUpdate(onUpdate);
tween.onPause(onPause);
tween.onStop(onStop);
tween.onComplete(onComplete);
</pre>
<p><a  name=prop class=anchor> </a></p>
<h3><a href=#prop>2. プロパティ設定</a></h3>
<p>トゥイーンさせずに<span class="highlight bold">プロパティを設定</span>したい場合は、<span class="highlight bold">Tween24.prop()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// box1をX座標220、45度に回転します
// Tween24.prop(ターゲット).プロパティ...
Tween24.prop(box1).x(220).rotation(45).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_prop.swf" title="Demo: Tween24.prop()">動作デモ</a></p>
<p>ターゲットに配列を指定することで、<span class="highlight bold">複数ターゲット</span>のプロパティを同時に設定することができます。</p>
<pre class="brush: as3; title: ; notranslate">
var boxes:Array = [box1, box2, box3];
Tween24.prop(boxes).x(220).rotation(45).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_prop2.swf" title="Demo: Tween24.prop()">動作デモ</a></p>
<p><a  name=ease class=anchor> </a></p>
<h3><a href=#ease>3. イージングの設定</a></h3>
<p>Tween24の<span class="highlight bold">イージングの指定</span>方法は<span class="highlight bold">Ease24クラス</span>を使う方法と、<span class="highlight bold">Tween24.ease</span>を使う方法の2種類があります。</p>
<pre class="brush: as3; title: ; notranslate">
// Ease24クラスを使う場合
Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(400).play();
</pre>
<pre class="brush: as3; title: ; notranslate">// Tween24.easeを使う場合
Tween24.tween(box1, 1, Tween24.ease.ExpoInOut).x(400).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_ease.swf" title="Demo: Ease24, Tween24.ease">動作デモ</a></p>
<p>Ease24では<span class="highlight">イージングのカーブの強さによって<span class="bold">連番が割り振られて</span></span>います。名前と強さが覚えれない人や、<span class="highlight">イージングを選ぶ時にグラフの一覧とにらめっこしている人にオススメ</span>です。Tween24クラスだけで完結したい、連番表記がいらない、というような人は<span class="highlight bold">Tween24.ease</span>を使ってください。</p>
<p>また、<span class="highlight">デフォルトのイージングを変更するとこも出来ます</span>。イージングを何も設定しない場合、デフォルトではLinearが設定されますが、例えばデフォルトのイージングをTweenerと同じにしたい場合は、</p>
<pre class="brush: as3; title: ; notranslate">
// デフォルトのイージングをTweenerと同じにする
Tween24.defaultEasing = Ease24._6_ExpoOut;
</pre>
<p>とすることでイージングを変更することができます。</p>
<p><a  name=serial class=anchor> </a></p>
<h3><a href=#serial>4. 直列トゥイーン</a></h3>
<p>複数のトゥイーンを<span class="highlight bold">連続再生</span>させる場合は、<span class="highlight bold">Tween24.serial()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// トゥイーンを順番に再生します。
var boxes:Array = [box1, box2, box3];
Tween24.serial(
　Tween24.prop(boxes).fadeOut(),
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　Tween24.tween(box2, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　Tween24.tween(box3, 1, Ease24._6_ExpoInOut).x(400).fadeIn()
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_serial.swf" title="Demo: Tween24.serial()">動作デモ</a></p>
<p><a  name=parallel class=anchor> </a></p>
<h3><a href=#parallel>5. 並列トゥイーン</a></h3>
<p>複数のトゥイーンを<span class="highlight bold">同時に再生</span>させる場合は、<span class="highlight bold">Tween24.parallel()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// トゥイーンを同時に再生します。
var boxes:Array = [box1, box2, box3];
Tween24.parallel(
　Tween24.prop(boxes).fadeOut(),
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　Tween24.tween(box2, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　Tween24.tween(box3, 1, Ease24._6_ExpoInOut).x(400).fadeIn()
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_parallel.swf" title="Demo: Tween24.parallel()">動作デモ</a></p>
<p><a  name=lag class=anchor> </a></p>
<h3><a href=#lag>6. 時間差トゥイーン</a></h3>
<p>同じパラメータで複数のトゥイーンを<span class="highlight bold">時間差で再生</span>させる場合は、<span class="highlight bold">Tween24.lag()</span>を使います。ターゲットを配列で指定することで、遅延時間を付加しつつそれぞれのターゲットをトゥイーンします。</p>
<pre class="brush: as3; title: ; notranslate">
// ターゲットを配列で指定し、時間差でトゥイーンを再生します。
// Tween24.lag(遅延時間、トゥイーン...)
var boxes:Array = [box1, box2, box3, box4, box5];
Tween24.lag(0.3,
　Tween24.prop(boxes).fadeOut(),
　Tween24.tween(boxes, 1, Ease24._BackOut).x(400).fadeIn()
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_lag.swf" title="Demo: Tween24.lag()">動作デモ</a></p>
<p><a  name=loop class=anchor> </a></p>
<h3><a href=#loop>7. 繰り返しトゥイーン</a></h3>
<p>トゥイーンを<span class="highlight bold">繰り返し再生</span>させる場合は、<span class="highlight bold">Tween24.loop()</span>を使います。繰り返し回数に0を指定すると、無制限に繰り返します。</p>
<pre class="brush: as3; title: ; notranslate">
// Tween24.loop(繰り返し回数、トゥイーン...)
Tween24.loop(3,
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(400), // 右へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(60) // 左へ
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_loop.swf" title="Demo: Tween24.loop()">動作デモ</a></p>
<p><a  name=$ class=anchor> </a></p>
<h3><a href=#$>8. 相対値トゥイーン その1</a></h3>
<p>トゥイーンさせるプロパティを<span class="highlight bold">現在の値からの相対値</span>で指定する場合は、<span class="highlight bold">$&#8230;()</span>プロパティを使います。</p>
<pre class="brush: as3; title: ; notranslate">
Tween24.serial(
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$x(340), // 右へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$x(0), // 元の位置へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$y(180),  // 下へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$y(0) // 元の位置へ
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_$.swf" title="Demo: $...()">動作デモ</a></p>
<p><a  name=$$ class=anchor> </a></p>
<h3><a href=#$$>9. 相対値トゥイーン その2</a></h3>
<p>トゥイーンさせるプロパティを<span class="highlight bold">トゥイーンする直前の値からの相対値</span>で指定する場合は、<span class="highlight bold">$$&#8230;()</span>プロパティを使って以下のように記述します。</p>
<pre class="brush: as3; title: ; notranslate">
Tween24.serial(
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$$x(340), // 右へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$$x(-340), // 左へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$$y(180),  // 下へ
　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).$$y(-180)  // 上へ
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_$$.swf" title="Demo: $$...()">動作デモ</a></p>
<p><a  name=global class=anchor> </a></p>
<h3><a href=#global>10. グローバル座標トゥイーン</a></h3>
<p>トゥイーンさせる座標を<span class="highlight bold">グローバル座標</span>で指定したい場合は、<span class="highlight bold">globalX(), globalY()</span>プロパティを使います。</p>
<pre class="brush: as3; title: ; notranslate">
var boxes:Array = [box1, box2, box3, box4, box5, box6, box7];

// コンテナを生成、画面の外へ移動
var container:Sprite = new Sprite();
container.x = container.y = 1000;
addChild(container);

Tween24.serial(
　// ボックスをコンテナに入れる
　Tween24.addChild(container, boxes),
　// 画面内のランダムな位置へ移動
　Tween24.prop(box1).globalX(Math.random() * 460).globalY(Math.random() * 460),
　Tween24.prop(box2).globalX(Math.random() * 460).globalY(Math.random() * 460),
　Tween24.prop(box3).globalX(Math.random() * 460).globalY(Math.random() * 460),
　Tween24.prop(box4).globalX(Math.random() * 460).globalY(Math.random() * 460),
　Tween24.prop(box5).globalX(Math.random() * 460).globalY(Math.random() * 460),
　Tween24.prop(box6).globalX(Math.random() * 460).globalY(Math.random() * 460),
　Tween24.prop(box7).globalX(Math.random() * 460).globalY(Math.random() * 460),
　// 1秒待機
　Tween24.wait(1),
　// 中央にトゥイーン
　Tween24.tween(boxes, 1, Ease24._6_ExpoInOut).globalX(220).globalY(220)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_global.swf" title="Demo: globalX(), globalY()">動作デモ</a></p>
<p><a  name=bezier class=anchor> </a></p>
<h3><a href=#bezier>11. ベジェトゥイーン</a></h3>
<p><span class="highlight bold">曲線を描くように</span>座標トゥイーンさせたい場合は、<span class="highlight bold">bezier()</span>プロパティを使います。</p>
<pre class="brush: as3; title: ; notranslate">
Tween24.serial(
　Tween24.tween(box1, 1).x(400).bezier(230, 50),
　Tween24.tween(box1, 1).x(60).bezier(300, 400).bezier(200, 0)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_bezier.swf" title="Demo: bezier()">動作デモ</a></p>
<p><a  name=filters class=anchor> </a></p>
<h3><a href=#filters>12. フィルタトゥイーン</a></h3>
<p>Tween24では、<span class="highlight bold">フィルタエフェクト</span>も簡単に扱うことができます。</p>
<pre class="brush: as3; title: ; notranslate">
Tween24.serial(
　// ブラーフィルタ
　Tween24.prop(box1).blur(0, 0),
　Tween24.tween(box1, 1).blur(16, 16),
　// グローフィルタ
　Tween24.prop(box2).glow(0x3366FF, 0, 0, 0),
　Tween24.tween(box2, 1).glow(0xFF6633, 1, 16, 16),
　// ドロップシャドウ
　Tween24.prop(box3).dropShadow(0, 45, 0x000000, 0, 0, 0),
　Tween24.tween(box3, 1).dropShadow(8, 135, 0x000000, 1, 8, 8),
　// 着色
　Tween24.tween(box4, 1).color(0xFF6633, 1),
　// 彩度 (値 0~1)
　Tween24.tween(box5, 1).saturation(0),
　// 明度 (値 0~2.55)
　Tween24.tween(box6, 1).bright(2.55)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_filters.swf" title="Demo: filters">動作デモ</a></p>
<p>ここでは各フィルタのパラメータをまとめて設定しましたが、<span class="highlight">blurX()やglowColor()プロパティを使うことで個別に設定</span>することもできます。</p>
<p><a  name=ifCase class=anchor> </a></p>
<h3><a href=#ifCase>13. 条件分岐トゥイーン</a></h3>
<p>連続している<span class="highlight bold">トゥイーンの途中で条件分岐</span>をさせたい場合、<span class="highlight bold">Tween24.ifCase()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// Tween24.ifCase(フラグ, true時のトゥイーン, false時のトゥイーン)...

// タイマー
var timer:Timer = new Timer(1000, 0);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();

function onTimer(e:TimerEvent):void
{
　Tween24.serial(
　　Tween24.wait(0.4),
　　
　　// タイマーのカウントが奇数の時
　　Tween24.ifCase(timer.currentCount % 2 == 1,
　　　// trueなら、右へ移動
　　　Tween24.tween(box1, 0.6, Ease24._6_ExpoInOut).$$x(340),
　　　// falseなら、左へ移動
　　　Tween24.tween(box1, 0.6, Ease24._6_ExpoInOut).$$x(-340)
　　),
　　// 移動後、回転する
　　Tween24.tween(box1, 0.4, Ease24._6_ExpoOut).$$rotation(90)
　).play();
}
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_ifCase.swf" title="Demo: Tween24.ifCase()">動作デモ</a></p>
<p>また、<span class="highlight bold">プロパティ名を指定</span>してBoolean値を参照する場合、<span class="highlight bold">Tween24.ifCaseByProp()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// Tween24.ifCaseByProp(ターゲット, プロパティ名, true時のトゥイーン, false時のトゥイーン)...

// 右へ移動するトゥイーン
var tween:Tween24 = Tween24.tween(_box1, 4).$x(340);
tween.play();

// タイマーカウント時に再生するトゥイーン
var timerTween:Tween24 = Tween24.serial(
　// トゥイーンが再生中かどうか
　Tween24.ifCaseByProp(tween, &quot;playing&quot;,
　　// トゥイーンが再生中なら、彩度を落として一時停止
　　Tween24.serial(
　　　Tween24.func(tween.pause),
　　　Tween24.prop(_box1).saturation(0)
　　),
　　// トゥイーンが停止中なら、彩度を戻して再生
　　Tween24.serial(
　　　Tween24.func(tween.play),
　　　Tween24.prop(_box1).saturation(1)
　　)
　),
　// 回転する
　Tween24.tween(_box1, 0.4, Ease24._6_ExpoOut).$$rotation(90)
);

// タイマー
var timer:Timer = new Timer(1000, 6);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();

function onTimer(e:TimerEvent):void {
　timerTween.play();
}
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_ifCase2.swf" title="Demo: Tween24.ifCaseByProp()">動作デモ</a></p>
<p><a  name=tweenFunc class=anchor> </a></p>
<h3><a href=#tweenFunc>14. 関数トゥイーン</a></h3>
<p><span class="highlight bold">引数をトゥイーンさせながら関数を実行</span>したい場合、<span class="highlight bold">Tween24.tweenFunc()</span>を使います。</p>
<pre class="brush: as3; title: ; notranslate">
// Tween24.tweenFunc(実行関数, 時間, 初期値, 目的値)...
Tween24.tweenFunc(draw, 1, [50, 10], [320, 100]).play();

// 円を描きます(_x:中心X座標, _size:円の大きさ)
function draw(_x:Number, _size:Number):void {
　graphics.lineStyle(1, 0);
　graphics.drawCircle(_x, 220, _size);
}
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_tweenFunc.swf" title="Demo: Tween24.tweenFunc()">動作デモ</a></p>
<p><a  name=skip class=anchor> </a></p>
<h3><a href=#skip>15. トゥイーンの途中で次のトゥイーンへ移行する</a></h3>
<p>連続したトゥイーンの中で、<span class="highlight bold">トゥイーンの途中で次のトゥイーンへ</span>移行させたい場合は、<span class="highlight bold">Tween24.skip() / skip()</span>を使って以下のように記述します。</p>
<pre class="brush: as3; title: ; notranslate">
// Tween24.skip()を使う場合
var boxes:Array = [box1, box2, box3, box4];
Tween24.serial(
　Tween24.prop(boxes).fadeOut(),
　Tween24.parallel(
　　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　　Tween24.tween(box2, 1, Ease24._6_ExpoInOut).x(400).fadeIn().delay(1),
　　Tween24.skip(1) // 1秒後に連続したトゥイーンを抜け出し
　),
　// 次のトゥイーンに移行します
　Tween24.parallel(
　　Tween24.tween(box3, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　　Tween24.tween(box4, 1, Ease24._6_ExpoInOut).x(400).fadeIn().delay(1)
　)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_skip.swf" title="Demo: Tween24.skip()">動作デモ</a></p>
<pre class="brush: as3; title: ; notranslate">
// skip()を使う場合
var boxes:Array = [box1, box2, box3, box4];
Tween24.serial(
　Tween24.prop(boxes).fadeOut(),
　Tween24.parallel(
　　// ↓ このトゥイーンが完了したら
　　Tween24.tween(box1, 1, Ease24._6_ExpoInOut).x(400).fadeIn().skip(),
　　Tween24.tween(box2, 1, Ease24._6_ExpoInOut).x(400).fadeIn().delay(1)
　),
　// 次のトゥイーンに移行します
　Tween24.parallel(
　　Tween24.tween(box3, 1, Ease24._6_ExpoInOut).x(400).fadeIn(),
　　Tween24.tween(box4, 1, Ease24._6_ExpoInOut).x(400).fadeIn().delay(1)
　)
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_skip.swf" title="Demo:skip()">動作デモ</a></p>
<p><a  name=id_group class=anchor> </a></p>
<h3><a href=#id_group>16. IDやグループでトゥイーンを操作</a></h3>
<p>トゥイーンに<span class="highlight bold">IDやグループ</span>を割り振っておくことで、どこからでもトゥイーンを制御できるようになります。</p>
<pre class="brush: as3; title: ; notranslate">
// IDを登録
Tween24.serial(
　Tween24.prop(box1).$x(0),
　Tween24.tween(box1, 3).x(400)
).id(&quot;box1&quot;);

// IDでトゥイーンを操作する
Tween24.serial(
　Tween24.playById(&quot;box1&quot;), // 再生
　Tween24.wait(1),
　Tween24.pauseById(&quot;box1&quot;),  // 1秒待機後、一時停止
　Tween24.wait(1),
　Tween24.playById(&quot;box1&quot;),  // 1秒待機後、再生
　Tween24.wait(1),
　Tween24.stopById(&quot;box1&quot;),  // 1秒待機後、停止
　Tween24.wait(1),
　Tween24.playById(&quot;box1&quot;)  // 1秒待機後、再生
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_id.swf" title="Demo: id()">動作デモ</a></p>
<pre class="brush: as3; title: ; notranslate">
// グループを登録
Tween24.prop(boxes).$x(0).group(&quot;boxes&quot;);
Tween24.tween(box1, 3).x(400).group(&quot;boxes&quot;);
Tween24.tween(box2, 3).x(400).group(&quot;boxes&quot;);
Tween24.tween(box3, 3).x(400).group(&quot;boxes&quot;);

//グループでトゥイーンを操作する
Tween24.serial(
　Tween24.playByGroup(&quot;boxes&quot;), // 再生
　Tween24.wait(1),
　Tween24.pauseByGroup(&quot;boxes&quot;),  // 1秒待機後、一時停止
　Tween24.wait(1),
　Tween24.playByGroup(&quot;boxes&quot;),  // 1秒待機後、再生
　Tween24.wait(1),
　Tween24.stopByGroup(&quot;boxes&quot;),  // 1秒待機後、停止
　Tween24.wait(1),
　Tween24.playByGroup(&quot;boxes&quot;)  // 1秒待機後、再生
).play();
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_group.swf" title="Demo: group()">動作デモ</a></p>
<p><a  name=event class=anchor> </a></p>
<h3><a href=#event>17. イベント連動トゥイーン</a></h3>
<p><span class="highlight bold">EventTween24</span>クラスを使うことで、<span class="highlight bold">イベントに合わさせて再生する</span>トゥイーンを簡単に設定できます。</p>
<pre class="brush: as3; title: ; notranslate">
// マウスイベントに合わせてトゥイーンを再生
// EventTween24.イベント(イベントターゲット、 シリアルトゥイーン...)

// RollOver
EventTween24.onRollOver(box1,
　Tween24.parallel(
　　Tween24.prop(box1).$x( -20),
　　Tween24.tween(box1, 0.4, Ease24._5_QuartOut).$x(0),
　　Tween24.tween(box1, 0.4).bright(0.5)
　)
);

// RollOut
EventTween24.onRollOut(box1,
　Tween24.parallel(
　　Tween24.tween(box1, 0.4).bright(0),
　　Tween24.tween(box1, 0.5, Ease24._ElasticOut).scale(1)
　)
);

// Click
EventTween24.onClick(box1,
　Tween24.parallel(
　　Tween24.prop(box1).scale(1).rotation(0),
　　Tween24.tween(box1, 0.5, Ease24._ElasticOut).scale(1.5),
　　Tween24.tween(box1, 0.8, Ease24._6_ExpoInOut).rotation(180)
　)
);
</pre>
<p><a rel="shadowbox;width=460;height=460;" href="http://package.a24.cat/assets/20111124/tween24_event.swf" title="Demo: EventTween24">動作デモ</a></p>
<p><a  name=special class=anchor> </a></p>
<h3><a href=#special>18. 特殊プロパティ</a></h3>
<p>xやalphaなどの通常のプロパティ以外に、様々な<span class="highlight bold">特殊プロパティ</span>を使うことができます。</p>
<pre class="brush: as3; title: ; notranslate">
// 使用例
Tween24.tween(...).delay(...) // 遅延時間を設定します
Tween24.tween(...).xy(...) // X, Y座標をまとめて設定します
Tween24.tween(...).xyz(...) // X, Y, Z座標をまとめて設定します
Tween24.tween(...).scale(...) // scaleX, scaleYをまとめて設定します
Tween24.tween(...).fadeIn() // alphaを1に設定し、開始時にvisibleをtrueにします
Tween24.tween(...).fadeOut() // alphaを0に設定し、完了時にvisibleをfalseにします
Tween24.tween(...).frame(...) // MovieClipのタイムラインを設定します
Tween24.tween(...).andRemove() // 完了時にターゲットをremoveChildします
</pre>
<p><a  name=action class=anchor> </a></p>
<h3><a href=#action>19. その他アクション</a></h3>
<p>トゥイーン以外にも、様々な<span class="highlight bold">便利なアクション</span>を使うことができます。</p>
<pre class="brush: as3; title: ; notranslate">
// 制御系
Tween24.pauseByTarget(...) // 指定ターゲットのトゥイーンを一時停止します ※複数指定可
Tween24.stopByTarget(...) // 指定ターゲットのトゥイーンを停止します ※複数指定可
Tween24.stopAllTweens() // 再生中の全てのトゥイーンを停止します

// ID/グループ
Tween24.getTweenById(...) // 指定したIDのトゥイーンを取得します
Tween24.getTweensByGroup(...) // 指定したグループのトゥイーンを配列で取得します
Tween24.getGroupTween(...) // グループ指定したトゥイーンをパラレルトゥイーンとして取得します
Tween24.disposeIdTweens(...) // 登録したIDトゥイーンを解放します
Tween24.disposeGroupTweens(...) // 登録したグループトゥイーンを解放します

// 表示系
Tween24.addChild(...) // 子オブジェクトを追加します ※複数指定可
Tween24.addChildAt(...) // 指定した深度に、子オブジェクトを追加します
Tween24.addChildAtFront(...) // 指定したターゲットの前面に、子オブジェクトを追加します
Tween24.addChildAtBack(...) // 指定したターゲットの背面に、子オブジェクトを追加します
Tween24.removeChild(...) // 子オブジェクトを削除します ※複数オブジェクト指定可
Tween24.removeAllChildren(...) // 子オブジェクトを全て削除します ※複数指定可
Tween24.swapFrontChild(...) // オブジェクトを最前面に配置します
Tween24.swapChildIndex(...) // オブジェクトの深度を変更します
Tween24.visible(...) // 可視状態を設定します ※複数ターゲット指定可
Tween24.removeFilters() // オブジェクトに設定されているフィルタを全て解除します

// マスク系
Tween24.addMask(...) // マスクを設定し、自動的に対象と同じ階層の表示リストに追加されます
Tween24.removeMask(...) // マスクを解除します。マスクは自動的に表示リストから削除されます

// 関数系
Tween24.func(...) // 関数を実行します
Tween24.funcAndWaitEvent(...) // 関数を実行し、イベントを受け取るまで待機します

// 待機系
Tween24.wait(...) // 指定した時間だけ待機します
Tween24.waitEvent(...) // イベントを受け取るまで待機します

// マウス系
Tween24.mouseEnabled(...) // マウスイベントを有効にするかを設定します ※複数ターゲット指定可
Tween24.mouseChildren(...) //子に対してマウスイベントを有効にするかを設定します ※複数ターゲット指定可
Tween24.buttonEnabled(...) // オブジェクトと子に対してマウスを有効にするかを設定します ※複数ターゲット指定可

// タイムライン系
Tween24.gotoAndPlay(...) // 指定したフレームから、再生します ※複数ターゲット指定可
Tween24.gotoAndStop(...) // 指定したフレームに移動し、停止します ※複数ターゲット指定可
Tween24.gotoRandomAndPlay(...) // ランダムのフレームから、再生します ※複数ターゲット指定可
Tween24.gotoRandomAndStop(...) // ランダムのフレームへ移動し停止します ※複数ターゲット指定可

// 出力系
Tween24.traceLog(...) // メッセージを出力します
Tween24.traceProp(...) // オブジェクトのプロパティを出力します

// その他
Tween24.eventDispatch() // イベントを送信します
Tween24.getURL() // URLを開きます
Tween24.setFocus() // フォーカスを設定します
Tween24.stageQuality() // レンダリング品質を変更します
Tween24.setTimeScale() // トゥイーンのグローバルタイムスケールを設定します
</pre>
<p><a  name=custom class=anchor> </a></p>
<h3><a href=#custom>20. 補完に対応していないプロパティのトゥイーン</a></h3>
<p>質問があったので追記しました。（というか書き忘れていました）<br />
カスタムクラスのプロパティなど、補完に対応していないプロパティをトゥイーンさせたい場合は、以下のように記述します。</p>
<pre class="brush: as3; title: ; notranslate">
// 例 サウンドのボリュームをトゥイーンさせる
// Tween24.tween(soundTransform, 1, Ease24._Linear, { volume:0.8 }).play();
// （訂正）soundTransform は設定し直さないと反映されないので、上記では無理でした...

// 例 カスタムクラスのプロパティをトゥイーンさせる
Tween24.tween(custom, 1, Ease24._Linear, { hoge:1, moja:100 }).play();
</pre>
<p>※ サウンドボリュームのトゥイーンは、今後プラグインで対応予定です。</p>
<h3>今後の予定</h3>
<p>今後は<span class="highlight">プラグインやプリセット</span>などの機能を追加し、アニメーションに特化したライブラリとしてアップデートしていきたいと思っています。</p>
<p>追加して欲しい機能やバグの報告などありましたら、この記事のコメントかTwitter：@a_24 or <a href="http://twitter.com/#!/search/realtime/%23tween24">#tween24</a> までお気軽にご連絡ください。</p>
<p>（追記） <a href="http://ja.wikipedia.org/wiki/MIT_License">MITライセンス</a>なので、商用利用でも自由に使ってください。</p>
<div class="download"><a href="http://package.a24.cat/tween24/">ダウンロードはこちら / Download</a></div>
]]></content:encoded>
			<wfw:commentRss>http://package.a24.cat/2011/11/24/tween24/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>最近のFlash騒動やHTML5/JS開発についてまとめ</title>
		<link>http://package.a24.cat/2011/11/17/flash-html5-js/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flash-html5-js</link>
		<comments>http://package.a24.cat/2011/11/17/flash-html5-js/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 01:00:48 +0000</pubDate>
		<dc:creator>Atsushi Kaga</dc:creator>
				<category><![CDATA[notes]]></category>

		<guid isPermaLink="false">http://package.a24.cat/?p=18</guid>
		<description><![CDATA[AndroidブラウザのFlashPlayerの開発が終了したり、HTML5製の3Dコンテンツが出てきたりで、「Flash終わったの？」とか、「これからはFlashじゃなくて全部HTML5で作った方がいいの？」とか聞かれ [...]]]></description>
			<content:encoded><![CDATA[<p>AndroidブラウザのFlashPlayerの開発が終了したり、HTML5製の3Dコンテンツが出てきたりで、「Flash終わったの？」とか、「これからはFlashじゃなくて全部HTML5で作った方がいいの？」とか聞かれる事が増えてきたので、ちょっとまめとめてみました。</p>
<p>同じような境遇の方も少くないと思うので、参考程度にどうぞ。</p>
<p><span id="more-18"></span></p>
<h3>AndroidブラウザFlashPlayerの開発終了について</h3>
<p>残念なことにAndroidブラウザのFlashPlayerはバージョン11.1を最後に開発は終了することが発表されました。これについて<span class="highlight">「AdobeがFlashよりHTML5の方が優秀だと認めた」</span>や「HTML5を推奨していたジョブズの完全勝利！」と考えている方もいるかと思いますが、実際のところどうなのでしょうか。</p>
<p>記事を参考に、開発終了の理由についてまとめてみました。</p>
<p>【参考記事】<br />
・ <a href="http://www.mikechambers.com/blog/2011/11/11/clarifications-on-flash-player-for-mobile-browsers-the-flash-platform-and-the-future-of-flash/" target="_blank">Clarifications on Flash Player for Mobile Browsers, the Flash Platform, and the Future of Flash at Mike Chambers</a><br />
・ <a href="http://f-site.org/articles/2011/11/14125101.html" target="_blank">モバイル版Flash Player、Flash Platform、そしてこれからのFlashについてはっきり言っておこうか。｜F-site</a><br />
・ <a href="http://www.itmedia.co.jp/news/articles/1111/14/news022.html" target="_blank">モバイルFlash断念はAppleの拒絶が主因―Adobe幹部が説明｜ITmedia ニュース</a><br />
・ <a href="http://cuaoar.jp/2011/11/-flash-player-2.html" target="_blank">デバイス向け Flash Player 中止についてマイクの説明とその考察｜akihiro kamijo</a></p>
<h4>理由その1： iOS端末のFlashPlayerの非対応</h4>
<p>周知の事実だと思いますが、iOS端末にFlashPlaeyrは搭載されていません。モバイル版Flash PlayerをPC版と同様に普及させる事を目的としていたAdobeにとって、スマホの中で<del datetime="2011-11-22T11:15:47+00:00"> 過半数 </del>大きな割合を占めているiOS端末に搭載されないというのはもっとも大きな壁となっていました。そして今後も搭載されないだろうと見切りとつけ、<span class="highlight">モバイルブラウザについてはHTML5に絞って開発していく</span>ことになったようです。</p>
<h4>理由その2： ブラウザよりアプリがユーザーに好まれている</h4>
<p>モバイル端末でリッチコンテンツを閲覧する場合、ユーザーはアプリケーションだけを使う傾向があるようです。実際スマホ向けにリッチコンテンツを作るのであれば、アプリとして開発することが多いと思います。</p>
<p>ブラウザFlashPlayerの開発は行われませんが、モバイル向けAIRの開発は今後も引き続き進められていくようです。AIRとは、Flashを制作するのと同様にデスクトップや iOS、Androidなどで動作するアプリケーションを開発できる技術です。最近では動作パフォーマンスも実用的なレベルに進化しており、数多くのスマホ向けアプリがAIRで制作されています。</p>
<p>このAIRまで一緒に開発が終了してしまったと勘違いし、モバイルのFlashは終わったと思った方もいると思いますが、<span class="highlight">今後もAIRの開発は続いていくので、1ソースで<del datetime="2011-11-20T09:33:04+00:00"> Web </del>PC向けWebコンテンツ、デスクトップアプリ、Androidアプリ、iOSアプリの開発するといったことも以前と変わらず今後も可能になります</span>。</p>
<h4>理由その3： FlashPlayerの開発コスト</h4>
<p>PC向けのFlashPlayerを開発する場合、FirefoxやChromeなどそれぞれのブラウザに対応する必要がありますが、Androidの場合ブラウザだけでなく実際に端末を制作しているメーカー等とも協力して開発する必要があります。</p>
<p>PCで主要なブラウザといえば指で数えれる程しかありませんが、Android端末を開発している各メーカーとなると世界中各国に存在します。当然これら全てに対応しなければならないため、PC版に比べると<span class="highlight">多大なリソースとコストがかかっていた</span>ようです。</p>
<blockquote><p>※ これに関して、モバイルAIRの開発があるなら動作検証のコストはあまり変わらないのでは、という見解もあるようです。（<a href="http://cuaoar.jp/2011/11/-flash-player-2.html" target="_blank">参考</a>）</p></blockquote>
<h4>理由その4： モバイルブラウザのHTML5サポート率</h4>
<p>モバイルデバイスにおいて、HTML5は高いサポートを受けており、デスクトップ環境におけるFlashPlayerに近いレベルで普及しています。パフォーマンスや互換性の問題もまだ多くありますが、驚くべきスピードで改良が進んでいます。</p>
<h4>まとめ</h4>
<p>PC版に比べて開発コストが高い割に、アプリに比べるとあまり使われておらず、更にiOSに搭載されないのでPC版のような普及率も見込めないので開発止めるわー、といったところでしょうか。単に<span class="highlight bold">HTML5の方がマルチプラットフォームで優秀なのでFlashPlayerを諦めたという理由ではない</span>ようです。</p>
<p>では、実際HTML5は今後Flashにとって変わる技術なのでしょうか？</p>
<h3> HTML5、JavaScriptでのサイト制作の実情</h3>
<p>モバイルに限らず、PC向けのサイトでもFlashではなくHTML5やJSを用いたインタラクティブなコンテンツが増えてきていますが、実際そういったコンテンツを作るに当たってのメリット/デメリットはなんなのでしょうか。</p>
<p>Flashとの比較ということで、いわゆる<span class="highlight bold">フルFlashサイトのようなものを作る前提</span>で考えてみたいと思います。</p>
<h4>HTML5で開発する場合</h4>
<p>Gizmodeさんで<a href="http://www.gizmodo.jp/2011/11/flashhtml5.html" target="_blank">HTML5製の3Dコンテンツ</a>（少しお粗末でしたが）が取り上げられたりと、Flashに近い表現ができると期待されていますが、実務レベルで考えるとまだまだ難しいと思います。</p>
<p>その理由として一番大きいのは、ブラウザによってはHTML5に対応しておらず、特に<span class="highligh">IE6～8では見れない</span>ということです。これはPCブラウザの過半数を占めるブラウザを切り捨てるということになるので、<span class="highlight bold">HTML5を選択した時点で大多数のユーザーは閲覧することができない</span>ということになります。</p>
<blockquote><p>※ 2011年11月16日現在、日本におけるIE6～8のブラウザシェアは53.5%。（<a href="http://gs.statcounter.com/#browser_version-JP-daily-20100701-20111016-bar" target="_blank">参考</a>）</p></blockquote>
<p>HTML5に対応しているブラウザだったとしても、ブラウザによって仕様が異なり使えない機能なども存在します。もし、<span class="highlight">「PCでもiPhoneでもAndroidでも誰でも同じように見れるようにしたいからHTML5で開発したい」と考えている方はもう一度考え直した方がよいかもしれません</span>。</p>
<p><br/><br />
また、<span class="highlight bold">Flashに比べると数倍～の開発コストかかってしまう</span>ことも問題です。</p>
<p>HTML5は元々Flashの代わりなるように作られたものではないので、<span class="highlight">Flashと同じようなことが出来ると言っても、Flashと同じように作れる訳ではありません。例えるなら、Windowsに標準で搭載されているペイントを使ってサイトのデザインを作るようなもの</span>だと思います。まぁこの例えは極端ではありますが、ペイントを使った事がある人であれば「頑張れば出来ないことはないけど、しんどすぎるわ！」といったニュアンスが伝わるかと思います。</p>
<p>またHTML5では扱えない機能もあるので、Flashと同じものを作るということ自体不可能という場合もあります。<span class="highlight bold">Flashで出来ることは、全てHTML5でも出来るというのは幻想です</span>。</p>
<p>ただし、今HTML5は間違いなくトレンドですし現状それだけで注目を浴びることができるので、<span class="highligh">IEユーザーを切り捨てても問題がなく、予算にも余裕があるといった場合、HTML5でコンテンツを作るということも有効な手段の一つ</span>かと思います。</p>
<h4>JavaScriptで開発する場合</h4>
<p>まず最初に、「Flashが使われていないのに画像等が動いてるサイトは全てHTML5で出来ている」と思っている方が稀にいるようなので訂正しておきます。Flashじゃないからといって全てのコンテンツがHTML5で作られているとは限りません、むしろ<span class="highlight bold">HTML5とか関係なくJSで作られている場合がほとんどです</span>。</p>
<p>JSの場合、IEでも閲覧できるのでHTML5のような問題はありませんが、やはりブラウザごとに仕様の違いがあり、Flashと同じように作れる訳ではないので、HTML5同様に<span class="highlight">開発コストは数倍～程度高くなります</span>。</p>
<p>また、iPhoneなどのiOS端末からでも見れるようにしたいのでFlashではなくJSで開発したいという話をよく聞きますが、ここにも一つ幻想が隠れています。実はiOSやAndroidでのJSの動作パフォーマンスは非常に低く、まともに表示することすらままならない場合も少なくありません。<span class="highlight bold">JSで作ったからiPhoneを含めどんな環境でも問題なく閲覧できるというのは幻想です</span>。</p>
<p>これは個人的な意見ですが、JSに関してはFlashの代用として使うのではなく、<span class="highlight">普通のHTMLサイトに動きをつけてちょっとリッチにしたり、より見やすく、より使いやすくするための+アルファの技術</span>として使うのが一番しっくりくるような気がします。</p>
<h3>あとがき</h3>
<p>今後HTML5やJSに最適な環境やコンテンツがどんどん増えていくことになれば、Flashの出番は減り、HTML5やJSやのシェアが当然増えていくと思いますし、そうなっていくべきだと思います。</p>
<p>ただ、過度な誇張や嘘をついてまでどちらかを落とし入れたり、無理矢理に勝負をさせて負けた方は消え去らないといけないといったような雰囲気は、開発者やエンドユーザーを含めて不幸になる人がたくさん出てくると思うので、勘弁して欲しいなと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://package.a24.cat/2011/11/17/flash-html5-js/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

