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)); } |
[swfobj src=”http://www.inazumatv.com/contents/wp-content/uploads/2008/09/go-test-6.swf” width=”600″ height=”150″ id=”go-test-6″ name=”go-test-6″ align=”none” allowfullscreen=”false” required_player_version=”9.0.124″]
goUpdateHandlerのところをHydroTweenはお手軽にしてくれている。
repeater:LinearGoRepeaterのところはGoASAPが勝手にやってくれるのでおまかせでヨシなんだね。