GoASAPのコアなクラスLinearGoを使ってtweenしてみる。
GoEvent.UPDATEをリスナーしてハンドラを作る。
ハンドラではGoEventのtarget.positionプロパティを使ってプロパティを動かす。
target.positionは0から1の間のNumber、移動係数(?)のようなもの。
LinearGoのスーパーGoItem. correctValueを使ってtarget.position値を使った計算結果をuseRounding=trueにあうように変換する。
exdendsしたサブクラスでは必ずこの関数を使いナ、だとさ。
useRelativeをtrueにしたときとの違いがまだ良く分からない。
HydroTweenが継承しているクラス、LinearGo, GoASAPを使ってHydroTweenを理解してみる作戦。
import org.goasap.items.LinearGo; import org.goasap.events.*; import org.goasap.managers.LinearGoRepeater; var startX:Number = 50; var endX:Number = 500; target.x = startX; var repeater:LinearGoRepeater = new LinearGoRepeater(4,true); var tween:LinearGo = new LinearGo(NaN,NaN,null,null,repeater); tween.addEventListener(GoEvent.UPDATE,goUpdateHandler); tween.start(); function goUpdateHandler(e:GoEvent):void { target.x = startX + tween.correctValue(e.target.position*(endX-startX)); }
goUpdateHandlerのところをHydroTweenはお手軽にしてくれている。
repeater:LinearGoRepeaterのところはGoASAPが勝手にやってくれるのでおまかせでヨシなんだね。
