Форум 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=87373)

Dмитрий 03.11.2006 17:41

Проблема с onRollOver во вложенном муви-клипе
 
Всем доброго здравия!
У меня вопрос: есть муви-клип, скажем my_mc10, и есть вложенный в него муви-клип, скажем my_mc11. Почему не работает код:
Код:

_root.my_mc10.my_mc11.onRollOver = function() {
        this.gotoAndStop(2);
}

???

etc 03.11.2006 17:43

Потому что у my_mc10 (наверняка) есть тоже onRollOver, который перекрывает все внутренние.

Dмитрий 03.11.2006 17:44

нет, был но уже убрал, все равно не работает...

Dмитрий 03.11.2006 17:46

могу выложить пример, может будет понятнее?

Dмитрий 03.11.2006 18:03

Вложений: 1
Вот пример...

iNils 03.11.2006 18:07

Потому что на момент определения фунцкии для my_mc11, данного клипа не существует. Поэтому функцию надо определять того как произошел переход на второй кадр, где появлется my_mc11.

Dмитрий 03.11.2006 18:32

Сделал вот так:
Код:

_root.fon_mc.onRollOver = function() {
        _root.my_mc10.gotoAndStop(2);
        _root.my_mc10.my_mc11.onRollOver = function() {
                this.gotoAndStop(2);
        };
        _root.my_mc10.my_mc11.onRollOut = function() {
                this.gotoAndStop(1);
        };
};

все работает пока не вставляю строчки:
Код:

_root.fon_mc.onRollOut = function() {
        _root.my_mc10.gotoAndStop(1);
};

затем начинает мигать. О причине мигания догадываюсь, но как исправить не знаю...
Пожалуйста, подскажите что делать?

iNils 03.11.2006 18:57

Все верно, как только вы пытаетесь навести курсор на my_mc11, срабатывает fon_mc.onRollOut.

В таком случаи, надо сделать задержку. То есть как только вы убирате мышь с fon_mc, вызываетет setInterval с небольшим значеним (подбирается эксперментально), который вызывает текущий код внутри fon_mc.onRollOut, но если до момента вызова интервала, другая кнопка получила событие onRollOver, то интервал очищается. Соответственно, если эта же кнопка получила onRollOut, то опять надо проверять, кто получил "фокус" и что нужно убрать или оставить.

Dмитрий 03.11.2006 20:49

Спасибо! Кажется понял, сейчас буду пробовать. )

Dмитрий 03.11.2006 21:55

:yahoo:
Огромное спасибо!!! все получилось!
Особая благодарность iNilsу!!


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

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