Entries

AS3用 トゥイーン・クラスのメモ

AS3(flex2)のアニメーションは、ロバート・パンナーのtweenライブラリが採用されてるすね。
ってことは、Flash9がリリースされたときには、スクリプトのアニメーションはflex2同様に、mx.effects.easing ライブラリで制御されるっぽい。

自作でイージイン用のコード書く場合も、これと入出力を同じにしとくとあとで交換がきくんジャマイカと。

function( 現在の時間, 初期値, 増減差分, アニメーション時間): Number{
~ ここで計算 ~
return resultValue
}

とすると、基本のアニメーション関数はこんな感じかな

Sineによる可減速

function( currentTime, initValue, difference, duration): Number{
var rad = currentTime / duration -0.5 ;
var resultValue = (Math.sin(  rad *Math.PI  ) +1) * 0.5 * difference + initValue
return resultValue
}

ってやったら、あまり気持ちよくない・・・ どうやらSinじゃなくてQuadricのトゥイーンを実装しなきゃダメっぽいけど
数学わかんね・・・

と思ったら、R.Penner easingの掲示板への書き込みを発見。この式を移植しろってことなのかな。

イーズアウト
currentValue = -difference * (currentTime/=duration)*(currentTime-2) + initValue;

イーズイン
currentValue = difference*currentTme*currentTime/(duration*duration) + initvalue;

イーズイン&アウト

将来的なことを考えるのなら、Flash使いにとって定番だった、x = x + ( tx – x ) * speed の式をそろそろ卒業せにゃあかんということなのかなぁ・・・ 数学メンド臭いなぁ。

これとかも資料