2011-07-20 53 views
0

我有一個彈性對象 - 我想出現在一個按鈕被點擊,10秒後消失或如果對象關閉,並重新出現,如果按下相同的按鈕。彈性計時器 - 出現失望

我已經嘗試過這樣的事情:

public class my_obj 
{ 
    private var _myTimer: Timer; 

    public function my_obj() 
    { 
      _myTimer = new Timer(10000); 

    } 
    private function init(): void 
    { 
      _myTimer.addEventListener(TimerEvent.TIMER, onTimeout); 
      _myTimer.start(); 
    } 

    private function onTimerTimeOut(event: TimerEvent): void 
    { 
     dispatchEvent(new Event(CLOSE_EVENT)); 
    } 
} 

我失去了什麼? 謝謝!

+0

您的問題是什麼?爲什麼「onTimeout」和「onTimerTimeOut」?你嘗試調試嗎?給我們更多的信息。 –

回答

0

工作正常。以下是工作代碼示例:

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx"> 
    <s:layout> 
     <s:VerticalLayout/> 
    </s:layout> 
    <s:Panel width="100%" height="400" creationComplete="my_obj()"> 
     <s:layout> 
      <s:VerticalLayout/> 
     </s:layout> 
     <fx:Script> 
      <![CDATA[ 
       private var _myTimer: Timer; 

       public function my_obj():void 
       { 
        _myTimer = new Timer(10000); 

       } 
       private function init(): void 
       { 
        toggleBtn.visible = true; 

        _myTimer.addEventListener(TimerEvent.TIMER, onTimeout); 
        _myTimer.start(); 
       } 

       private function onTimeout(event: TimerEvent): void 
       { 
        toggleBtn.visible = false; 
        //dispatchEvent(new Event(CLOSE_EVENT)); 
       } 

       private function hideIt(): void 
       { 
        toggleBtn.visible = false; 

       } 
      ]]> 
     </fx:Script> 
     <s:Button label="Some Button" click="init()"/> 
     <s:Button id="toggleBtn" label="Appeared on 'Some Button' click. Click to close it." click="hideIt()" visible="false"/> 
    </s:Panel> 
</s:WindowedApplication> 
+0

謝謝@ M.D。 - 唯一的問題是,我從另一個對象調用這個對象(它總是存在的 - 只出現和消失)我怎樣才能重置時間,我每次去「可見=真」? – qqqqq

+0

@qqqqq只需添加_myTimer.reset();你調用visible = true之後。這會將定時器重置爲零。確保你調用_myTimer.start()來重新啓動它。重置不會自行啓動。 –

+0

完美!非常感謝! – qqqqq