イナヅマTVログ

GoASAP, LinearGoでtweenしてみる

| 0件のコメント

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が勝手にやってくれるのでおまかせでヨシなんだね。

コメントを残す