Показать сообщение отдельно
Старый 19.11.2008, 19:58
_Smirnoff вне форума Посмотреть профиль Отправить личное сообщение для _Smirnoff Найти все сообщения от _Smirnoff
  № 7  
Ответить с цитированием
_Smirnoff
 
Аватар для _Smirnoff

блогер
Регистрация: Jul 2007
Адрес: Russia
Сообщений: 292
Записей в блоге: 5
Код AS3:
private var _timeoutId:int = -1;
sprite.addEventListener(MouseEvent.ROLL_OVER, onSpriteMouseRollOver);
sprite.addEventListener(MouseEvent.ROLL_OUT, onSpriteMouseRollOut);
 
private function onSpriteMouseRollOver(event:MouseEvent):void
{
     _timeoutId= setTimout(timeoutFunction, 500);
}
 
private function onSpriteMouseRollOut(event:MouseEvent):void
{
     clearTimout();
}
 
private function clearTimout():void
{
     if (_timeoutId != -1)
     {
          clearTimeout(_timeoutId);
         _timeoutId = -1;
     }
}
 
private function timeoutFunction():void
{
       clearTimout();
       // do something
}

По поводу того, что лучше использовать Timer вместо setTimout очень спрорный вопрос. Зачем плодить тяжелую сущность, если нам нужно просто поставить таймаут, а больше никакая информация не нужна
__________________
Оптимизация производительности на уровне кода