我有一些計時器在頁面上運行,我無法確定在頁面運行時離開該頁面時如何停止。如何在離開「屏幕」時停止計時器
該調用來自另一個影片剪輯上的一個按鈕,該剪輯正在調用Main.as上的一個函數。在Main.as的
功能做到這一點:
public function goToIntro(){
removeChild(currentScreen);
intro = new Intro();
addChildAt(intro,0);
currentScreen = intro;
}
如果我點擊的前奏按鈕,同時用計時器任何場景是打我收到此錯誤信息。消息
不會馬上出現,它就像介紹「場景」結束並調用下一個場景一樣。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at MethodInfo-202()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
我在介紹頁面上有這樣的代碼,應該在清除它時進行清理。
public function Intro() {
addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
private function removedHandler(event:Event):void {
}
我想不出如何從removedHander函數中殺死定時器。我試圖刪除事件監聽器,但會導致其他錯誤消息。如果偵聽器不是null,那麼我試着做一個測試,然後停止它。這顯然永遠不會運行(我用trace語句來測試它)。我試着測試一下,如果計時器運行,然後停止,但也沒有工作。
幫助!
此外,我是一個完整的動作和編程新手,因此可以像我5歲時一樣跟我說話。謝謝
計時器開始在哪裏? – Ronnie 2012-04-03 19:08:50
在currentScreen類中添加「eventFromStage」的事件偵聽器並停止處理程序中的計時器。 – 2012-04-03 21:50:22