私のFlash AS3スクリプトは以下のとおりです。私の質問は、移動中にY位置のトゥイーンオブジェクトを見つける(トレースする)方法です...
次のような位置を知りたい: objectA = -50, 0, 25, 50 ... 150, 170, 180, 200, 210 ..., 750, 800.
var objTween = new Tween(objectA, "y", Strong.easeOut, -100, 800, 15, true);
objTween.start();
私のFlash AS3スクリプトは以下のとおりです。私の質問は、移動中にY位置のトゥイーンオブジェクトを見つける(トレースする)方法です...
次のような位置を知りたい: objectA = -50, 0, 25, 50 ... 150, 170, 180, 200, 210 ..., 750, 800.
var objTween = new Tween(objectA, "y", Strong.easeOut, -100, 800, 15, true);
objTween.start();
また、値を出力するだけの場合は、トゥイーン関数を直接実行できます。これはちょっとクールだと思います
for (var i:int=0; i< 15*60; i++) {
trace (Strong.easeOut(i, -100, 800, 15*60));
}
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var objTween = new Tween(objectA,"y",Strong.easeOut,-100,800,15,true);
objTween.addEventListener(TweenEvent.MOTION_CHANGE, tweenEvents);
objTween.start();
function tweenEvents(e)
{
switch (objectA.y)
{
case -100 :
trace("objectA is at -100");
break;
case 800 :
trace("objectA is at 800");
break;
default :
trace(objectA.y);
}
}
私はswitchcaseステートメントの大ファンです。なぜなら、一連のifelseステートメントよりもクリーンだと感じているからです...次のようなことができます。if (objectA.y ==50){trace("at 50")};
それが役立つことを願っています:)
TweenEvent.MOTION_CHANGEトゥイーンされたオブジェクトが変更されるたびにトリガーされるイベントを聞くことができます。
例 (未テスト):
var objTween:Tween = new Tween(objectA, "y", Strong.easeOut, -100, 800, 15, true);
objTween.addEventListener(TweenEvent.MOTION_CHANGE, onTweenChange);
objTween.start();
[...]
function onTweenChange(e:TweenEvent):void {
trace(objectA.y);
}