我正在編寫一個Flash遊戲,其中的球擊中一個影片剪輯對象,並將用戶帶到一個新的場景。如何重置變量Flash遊戲CS6 AS3
這工作得很好,但是當我返回到遊戲場景中的球移動速度的兩倍。
如何/我在哪裏可以返回到遊戲時重置變量。 對我如何,此刻
var XSpeed:Number = 9;
var YSpeed:Number = 9;
任何幫助將不勝感激設置的變量見下面。謝謝。
編輯* * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * **
好了,所以我想我表述這個問題相當嚴重,這裏是我的相關代碼:
var XSpeed:Number = 9; //X Speed of the Ball
var YSpeed:Number = 9; //Y Speed of the Ball
function beginCode():void{
mcPaddle.addEventListener(Event.ENTER_FRAME, movePaddle);
mcBall.addEventListener(Event.ENTER_FRAME, moveBall);
mcBall.addEventListener(Event.ENTER_FRAME, changeFrame);
}
beginCode(),然後調用在最後。 如前所述,我認爲問題在於事件偵聽器已經存在,並且每次用戶返回頁面時都會再次調用。 我試圖添加一個if語句來檢查(見下面的評論),但這並沒有奏效...
任何幫助將不勝感激。謝謝。
如果(Ball2.hasEventListener(Event.ENTER_FRAME)) Ball2.removeEventListener(Event.ENTER_FRAME,moveBall2); \t別的 \t Ball2.addEventListener(Event.ENTER_FRAME,moveBall2); – user1982108
嘗試了上面的代碼,但它沒有幫助...任何想法? – user1982108
執行此操作的一種方法是'addEventListener(Event.REMOVED_FROM_STAGE,cleanup)',並在''cleanup''函數中刪除正在被觸發兩次的事件偵聽器。 –