如何停止下一個補間動作開始,直到上一個補間在as3.0中完成播放爲止?補間as3停止下一個補間發生,直到最後一個完成
我也想停止補間發生在同一個對象兩次。
基本上我有一個容器(電影剪輯),其中有n個電影剪輯(排列爲磚)。當我點擊容器時,目標(磚)將消失(將scaleX和alpha設置爲'o')。我也在跟蹤關閉了多少塊磚頭。
但問題是如果我做快速雙擊補間似乎發生兩次。而且伯爵似乎也增加了同樣的磚塊。如何解決這個問題呢。
如何停止下一個補間動作開始,直到上一個補間在as3.0中完成播放爲止?補間as3停止下一個補間發生,直到最後一個完成
我也想停止補間發生在同一個對象兩次。
基本上我有一個容器(電影剪輯),其中有n個電影剪輯(排列爲磚)。當我點擊容器時,目標(磚)將消失(將scaleX和alpha設置爲'o')。我也在跟蹤關閉了多少塊磚頭。
但問題是如果我做快速雙擊補間似乎發生兩次。而且伯爵似乎也增加了同樣的磚塊。如何解決這個問題呢。
吐溫之後吐溫
使用的事件處理程序,以等待第一個補間完成,像
myTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish);
function onFinish(e:TweenEvent):void {
... // Call the next tween here
}
刪除事件點擊按鈕後立即收聽,例如:
my_btn.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent){
my_btn.removeEventListener(MouseEvent.CLICK, onClick);
myTween.start();
}
你可以使用Tweener,並使用
isTweening()
或autoOverwrite = false
來解決這個問題。
我在一段時間內沒有使用過這些屬性/函數,但我確定Tweener中的某些功能可以輕鬆地完成此操作。
您使用Tweener的任何原因。 Greensock的Tweenmax/lite軟件包現在看起來是行業標準。
您似乎遇到的問題是您多次啓動補間。如果所有塊需要同時縮小,我可能會使用for循環並在它們中的每一個上運行補間。
你必須確定的事情是,一旦它被點擊以刪除點擊事件處理程序,直到它完成,所以它不會再次被點擊。
我也建議使用TweenMax/Lite,因爲它有一些名爲TimelineMax/Lite的地方,可以將一組補間同時或錯開地混合,並偵聽該時間軸對象上的一個COMPLETE事件。當該事件觸發時,您可以重新激活點擊或完成動畫完成後需要執行的任何操作。
TimelineMax有一些不錯的功能,如reverse和timeScale。
你能夠粘貼一些代碼嗎?這也可以幫助我們幫助你。