Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   onRollOver зря срабатывает на новом кадре (http://www.flasher.ru/forum/showthread.php?t=156088)

LOST DEMON 16.05.2011 12:46

onRollOver зря срабатывает на новом кадре
 
Вообщем, на кнопки повешено событие, которое должно срабатывать один раз при наведении на его мыши. Использую onRollOver. Проблема в том, что при переходе на новый кадр курсор случайно может попасть на кнопку и событие запустится, хотя пользователь ничего не делал. Подскажите, плиз, что делать, чтобы хотя бы запускалось событие только при движении мыши пользователем. Может, надо onMouseMove использовать??, но оно ведь работает постоянно при движении мыши - а надо один раз только...

mooncar 16.05.2011 13:25

Выставляйте и проверяйте флаг.
Код AS1/AS2:

btn.onRollOver = function()
{
  if (canOver)
  {
      //нужные действия
      canOver = false ;
  }
};

Либо так, полностью отключая активность кнопки:
Код AS1/AS2:

btn.onRollOver = function()
{
      //нужные действия
      this.enabled = false ;//так симпатичнее, не будет пальчик появляться
};


Либо так, на любое движение мыши:
Код AS1/AS2:

mc.onMouseMove = function()
{
      //нужные действия
    delete this.onMouseMove ;
};

В любом случае сработает один раз.

LOST DEMON 16.05.2011 14:03

mooncar, спс большое. Мне особенно третий вариант понравился - так именно именно он срабатывает именно при движении мыши, те "сознательно" пользователем, а не когда курсор случайно попал=). Очень помогли!=)

mooncar 16.05.2011 14:15

Пожалуйста! :)


Часовой пояс GMT +4, время: 23:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.