2012-05-15 2 views

ответ

1

Ну, только один опрокидывание уволен, если не ЮО раскатывать, а затем обратно.

Так вот что я хотел бы сделать:

private var timeoutId:uint=-1; 
private function onRollover(e:MouseEvent):void { 
    timeoutId=setTimeout(play, 5000); 
} 

private function onRollout(e:MouseEvent):void { 
    if(timeoutId != -1) clearTimeout(timeoutId); 
} 

private function play():void { 
    //code to play music 
} 

и, конечно же, onRollover и onRollout обрабатывать соответствующие события.

2

Вы могли бы разницу между MOUSE_OVER и MOUSE_OUT.

var myButton:Button = new Button(); 
var diff:Number = 0; 
var startDate:Date; 

myButton.addEventListener(MouseEvent.MOUSE_OVER, function(evt:MouseEvent):void { 
    startDate = new Date(); 
}); 

myButton.addEventListener(MouseEvent.MOUSE_OUT, function(evt:MouseEvent):void { 
    diff = (new Date()).time - startDate.time; 
    if (diff >= 5000) 
     // do something 
}); 

У меня нет Flash Builder, но это должно быть хорошим началом. Проверьте эти документы для получения дополнительной информации:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Date.html#time

+0

Мне нужна кнопка для воспроизведения музыки, если мышь удерживалась на ней более 5 секунд. Тогда нет MOUSE_OUT. – siddharth

+0

@siddharth Попробуйте эту ссылку. «MOUSE_OUT» определяется как mouseOut. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/Button.html#eventSummary –

+0

@siddharth Моя предыдущая ссылка указывает на свойство MOUSE_OUT. См. Эту ссылку: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/InteractiveObject.html#event:mouseOut –

1

Возможно, вам стоит взглянуть на класс Timer. Вот простой пример того, что вы можете делать с ним:

var timer:Timer = new Timer(5000,1); 

timer.addEventListener(TimerEvent.TIMER, playVideo); 

btnInstance.addEventListener(MouseEvent.MOUSE_OVER, 
          function(evt:MouseEvent):void { 
           timer.start(); 
          }); 

btnInstance.addEventListener(MouseEvent.MOUSE_OUT, 
          function(evt:MouseEvent):void { 
           timer.stop(); 
          }); 

function playVideo(evt:TimerEvent):void { 
    // play video 
} 

Надеется, что это помогает.