Tweener: 画像を簡単に演出をつけるActionScriptのアニメーション用オープンソースのライブラリ

Tweenerとは、ActionScript 2.0でもActionSctipt 3.0でも使え、Flashでサイトを作る際に良く使っている一枚の画像をすっごく簡単に演出をつけるActionScriptのアニメーション用オープンソースのライブラリです。

前回紹介した「fosFORO: Flash中にテキスト文字を絵文字に変換するオープンソースのライブラリ」よりもっと便利なライブラリみたいです。

現状、FlexBuilderやFlex SDK、Flash Develop(※参考: FlashDevelop: .NETで開発されていてオープンソースのFlash/ActionScript 用のWindows向けIDE開発環境)はASのコードを書くのには非常に便利なツールなのですが、Flash特有のタイムラインが無いので、アニメーション部分を補完してくれる、Tweenerのライブラリはよく利用している方が多いです。

本文を発表する時点までは、以下のFlashバージョンがサポートされています。

  • ActionScript 2.0, for Flash 7+ and Flash Lite 2.0+
  • ActionScript 2.0, for Flash 8+
  • ActionSctipt 3.0, for Flash 9+

Tweenerの使い方

1)、Tweenerライブラリダウンロード

次のURLからTweenerライブラリをダウンロードします。>>http://code.google.com/p/tweener/downloads/list

tweener_1_31_74_as3_swc.zipの既にswc化になったファイルをダウンロードするとStep3へ、ソースからダウンロードするとStep2へ。

2)、展開した*.asソースファイル、以下のコマンドでswc化とする


compc -include-sources tweener_1_31_74_as3 -output tweener.swc

3)、できたtweener.swc は /usr/lib/flash/にでも放り込んでおくことにする(FlexBuilderならGUIから追加できる)

4)、以下のソースをHelloTweener.asファイルに保存

package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.MouseEvent;
import caurina.transitions.Tweener;
public class HelloTweener extends Sprite {
public function HelloTweener() {
var tf:TextField = new TextField();
tf.text = “Hello Tweener”;
addChild(tf);
stage.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void {
Tweener.addTween(tf, {x:mouseX, y:mouseY, time:1, transition:”linear”});
});
}
}
}

5)、コンパイル


mxmlc -include-libraries=/usr/lib/flash/tweener.swc HelloTweener.as

そこまでは物を作れます。また、以下はマウスプレス時にも演出が加わっている具体的な実装例です。


// Tweenerライブラリをインポート
import caurina.transitions.*
import caurina.transitions.properties.*

// カラーショートカットを登録
ColorShortcuts.init()

// ボタン(btnというインスタンスがある前提)のロールオーバー
btn.onRollOver = function(){
// _brightness が明るさ。0が基準で±1で設定します。
// timeで0.5秒を設定してます。
Tweener.addTween(this,{_brightness:0.4, time:0.5})
}
btn.onRollOut = function(){
Tweener.addTween(this,{_brightness:0, time:0.5})
}

btn.onPress = function(){
Tweener.addTween(this,{_brightness:-0.4, time:0.5})
}

btn.onRelease = function(){
Tweener.addTween(this,{_brightness:0.4, time:0.5})
}

それ以外、Tweenerを使いこなすというよりは、Tweenerからつかわれるオブジェクトをどう設計するかのほうが面白そうです。

関連リンク
http://code.google.com/p/tweener/ 公式ページ

Leave a Reply

Your email address will not be published. Required fields are marked *