AS3.0 への移植 Hopper(1)
2007/07/13 22:29 - tweener
AS3.0 への移植、モーションタイポ系を続けます。
ちょっとした書き換えで作品としてのバリエーションをドンドン増やすことができるクラスって、ホント~にイイもんですね!
今回の移植対象は Hopper です。
Hopper の話に入る前にクラスのパッケージ化について一言。
繰り返しになりますが、私のモーションタイポは以下のクラスから構成されています(ドキュメントクラスは除外)。
モーションタイポ構成クラス最低限リスト
- TypoLetter.as
- StringSplitter.as
- MotionEngine.as
上記の3クラスのうち、文字列を1文字ずつ分解する StringSplitter.as と文字の定義クラスである TypoLetter.as は、現段階でパッケージ化が可能なまでに汎用化できたと判断しました。
厳密にいうと、複数行にわたるモーションタイポには対応していないんですが、それは今後の課題ということで、今回はひとまず置きます。
なので com.Aquioux.AqText.MotionTypo にパッケージ登録。 今回より配布するソースはその構成になります。
話を Hopper に戻します。
"INVISIBLE" でのボタンクリック時における各文字のアクションは「マウスカーソルを基点とした文字の集合」と「ランダム位置への文字の離散」の2種類がありました。
Hopper では「マウスカーソルを基点とした文字の集合」の1種類だけになります。
ところで、Hopper のトゥイーン動作は以下のようなものです。
- A地点からB地点へ移動する
- B地点に到達した文字の座標以外のプロパティ(スケール、角度、アルファ値)は、A地点で静止していたときと同じである
- A地点からB地点へ移動する間に上記プロパティに変動を生じさせる
- A地点からB地点への座標移動は直線移動ではないようにする
ここで「 1 と 2 」と「 3 と 4 」 の二つに分けて考えます。
"INVISIBLE" で使用した MotionEngine.as のうち、doObjTween メソッドを変更し、「 1 と 2 」に対応させた結果が下のサンプルです。
- ソース( 10.4 KB )
この単純な線形移動に「 3 と 4 」を加えることで文字が飛び跳ねるような効果が実現されるわけです。 さて Tweener を使った場合、どういうコーディングをすれば「 3 と 4 」を加えることができるのか?
アプローチとしては次の二つが考えられるでしょう。
- トゥイーンの過程を二つに分解する
- _beizer プロパティを使用する
次回は前者について検討してみます。