PDA

Просмотр полной версии : Проблема с onRollOver во вложенном муви-клипе


Dмитрий
03.11.2006, 17:41
Всем доброго здравия!
У меня вопрос: есть муви-клип, скажем 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
Вот пример...

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у!!