我正在嘗試創建一個簡單的計時器,該計時器在一段不活動時間(60秒)後將用戶帶回登錄屏幕。計時器似乎第一次正常工作,它將用戶導航回登錄屏幕。但是,當我第二次重新登錄到應用程序時,計時器不起作用,並且用戶在60秒後沒有導航到登錄屏幕。我錯過了什麼,爲什麼第二次不起作用?計時器不能正常工作 - as3
private var timer:Timer;
override protected function initialize():void
{
timer = new Timer((1)*60*1000, 1);
timer.start();
timer.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
}
private function onMouseMove(event:MouseEvent):void
{
timer.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
timer.reset();
timer.start();
}
private function onTimerComplete(event:TimerEvent):void
{
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
this.owner.showScreen(LOGIN_SCREEN);
timer.reset();
}
任何幫助,將不勝感激。
謝謝@LDMS的回覆。我發現initialize()每次用戶登錄時都沒有被調用。我試圖解決這個問題,希望這將解決計時器問題。非常感謝你..! – Sugan88 2014-09-23 10:06:10
我從feathers.controls.screen重寫Initialize()方法。出於某種原因,當我第二次登錄時,不會調用initialize()方法。任何想法爲什麼? – Sugan88 2014-09-23 14:00:24
你必須發佈你的代碼。現在我不知道如何以及何時調用'initialize'方法。我對羽毛庫不熟悉,但看看我看到的這個文檔「在屏幕首次添加到舞臺上時運行一次」。 - 也許你可以使用'Event.ADDED_TO_STAGE'事件來設置你的計時器/監聽器而不是initilize方法 – BadFeelingAboutThis 2014-09-23 16:09:05