2012-09-06 69 views

回答

3

我會想象這是由操作系統決定的,因爲具有不同可訪問性需求的用戶具有不同的雙擊時間點。因此,我認爲這不可能使用Flash播放器進行修改。

但是,如果要模擬上述情況,我會做類似如下:

private var timer:Timer = new Timer(1000, 1); 

    private var singleClickEvent:MouseEvent; 

    public function onSingleClick(event:MouseEvent):void 
    { 
     if (timer.running) 
     { 
      timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerComplete); 
      timer.stop(); 
      dispatchEvent(new MouseEvent(MouseEvent.DOUBLE_CLICK)); 
     } 
     else 
     { 
      singleClickEvent = event; 
      timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerComplete); 
      timer.start(); 
     } 
    } 

    private function timerComplete(event:TimerEvent):void 
    { 
     dispatchEvent(singleClickEvent.clone());  
     singleClickEvent = null; 
    } 

基本上...當你點擊一次啓動計時器,如果計時器觸發,然後派遣正常CLICK事件。如果用戶在定時器啓動之前再次單擊,則雙擊併發送DOUBLE_CLICK。

+0

我試着改變系統雙擊速度,我沒有注意到我的Flash應用程序有任何區別。但感謝您的迴應和解決方案,我會試一試。 – Alex