我已經設置了6個動畫片段作爲array_0,另一組6個動畫片段作爲array_1。這就像兩個不同屏幕的選擇。這兩個數組都作爲all_array嵌套在另一個數組中。所有12個動畫片段在初始加載時定位到相同的x和y,並且在可見階段之外。我想使用兩個不同的全局變量進行索引。例如,cCat_Sel的取值範圍是0-5,另一個cScr_Sel取值範圍是0-1。 cCat_Sel將在舞臺上的六個按鈕單獨對象的點擊事件(每個類別的每個按鈕)上進行更改。移動補間動畫組使用as3動畫片段組
因此它會根據cScr_Sel的值顯示每個類別的內容。如果cScr_Sel爲0,那麼它將使用all_array [0] [cCat_Sel]來訪問當前目標,並且類似地爲1的值分別爲all_array [1] [cCat_Sel]
我已經完成了所有工作,包括所有補間動畫移動當前目標並使其可見。但補間不會將第二套mcs帶到可見區域。我有兩個函數用於移動,另一個用於通過使用mc.x屬性的補間動畫移出。每個相關的點擊事件;我必須移動當前mc並製作alpha 0,一旦完成,移入新的當前目標並製作alpha 1.
不知何故,我必須將這兩個補間結合在一個函數中。這是我卡住的部分。或者可能會將這些mcs放在兩個不同的陣列中,而不是正確的方法。我可以很容易地實現我想要在根的Enter Frame事件上檢查cCat_Sel和cScr_Sel變量,並且一個接一個地執行這兩個動畫,但它看起來像輸入幀使用了太多的cpu,並且使其變得更慢並且可能不是優選的。
願意嘗試任何人的建議或指導。提前致謝。 我沒有任何正式或非正式的編程教育,但我通過閱讀和嘗試了一些東西,因爲每stackoverflow問題和答案,有時谷歌工作。因爲我從堆棧溢出中找到的大部分答案。 更新:
function fnSlideInOut(cMc:Object, pMc:Object){
var HideX:Number =650;
var ShowX:Number = 0;
if(cMc != null){
if(cMc.x != ShowX){
//cMc.alpha = 1;
var SlideMcIn:Tween = new Tween(cMc, "x", Strong.easeOut, 650, ShowX, 0.5, true);
SlideMcIn.addEventListener(TweenEvent.MOTION_FINISH, fnSlideInFinish);
SlideMcIn.start();
}
}
if(pMc != null){
if(pMc.x != HideX){
//pMc.alpha = 1;
var SlideMcOut:Tween = new Tween(pMc, "x", Strong.easeOut, 0, HideX, 0.5, true);
SlideMcOut.addEventListener(TweenEvent.MOTION_FINISH, fnSlideOutFinish);
SlideMcOut.start();
}
}
function fnSlideOutFinish(e:TweenEvent){
//SlideMcOut.obj.alpha = 0;
SlideMcOut.removeEventListener(TweenEvent.MOTION_FINISH, fnSlideOutFinish);
}
function fnSlideInFinish(e:TweenEvent){
//SlideMcIn.obj.alpha = 1;
SlideMcIn.removeEventListener(TweenEvent.MOTION_FINISH, fnSlideInFinish);
}
}//End Function
fnSlideInOut(cScr_Sel, pScr_Sel);
我想專家希望你能在任何類型的錯誤,上面的代碼註釋。它工作99次,但是1次影片剪輯或者沒有到達目的地,或者當前和之前的兩個目標都顯示,而且這些目標也不在他們所設想的位置。這隻發生在快速連續發生按鈕點擊事件時。再次感謝
我看着tweenLite鏈接,似乎我需要一些時間來進入它。但看起來很徹底。我相信這將長期幫助我。我一直在其他網站上看到Tweenlite。我看了一些可能性。它簡直太棒了,天空是極限。在Flash的Tween中建立的是如此原始,如此充滿垃圾。如果我可以使用內置的Tween類使其可行,我將上傳解決方案。非常感謝您提供快速回答並展示處理這種情況的正確方法。 – user2145746 2013-03-07 23:47:38
那麼,根據我的經驗,你並不需要時間跳進TweenLite並開始使用它。除了向我的樣本中添加進口產品外,這也是您需要做的所有事情。無論如何,我很高興它可以幫助您 – duTr 2013-03-08 01:59:53
再次感謝。我最終肯定會使用TweenLite。我也確信你的代碼會起作用。但這是我做出了一個快速解決方案。這不是很好,但它是我週一截止日期的臨時解決方案。 – user2145746 2013-03-08 02:10:28