我的Flash AS3腳本找到Y位置補間的對象,我的問題是如何尋找(跟蹤)Y位置補間運動目標...的Flash AS3 - 在如下移動
我想知道像的位置: 對象A = -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位置補間的對象,我的問題是如何尋找(跟蹤)Y位置補間運動目標...的Flash AS3 - 在如下移動
我想知道像的位置: 對象A = -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();
可以收聽該觸發每次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);
}
此外,如果你正在尋找剛剛打印出來的值你可以直接運行補間功能,我認爲它很酷
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);
}
}
我是開關case語句的大風扇,僅僅是因爲他們覺得比一系列if else語句吸塵器......你可以不喜歡if (objectA.y ==50){trace("at 50")};
希望幫助:)
如果想要在特定的座標系中觸發特定的事件,爲什麼不創建一個簡單的條件來跟蹤它的位置......就像上面那樣,但TweenListener真的有必要嗎?根據我的經驗,它將通過補間來知道它在哪裏,不管。 雖然我從來沒有使用過本土的Tween類,但我經常選擇Greensock,它提供了一些有用的技巧和反饋。 http://www.greensock.com – MaxG
如何監聽[Tween的MOTION_CHANGE](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/transitions/Tween.html#event: motionCh憤怒)事件和檢查處理程序中的位置? –