![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2007
Сообщений: 9
|
Здравствуйте, уважаемые флешеры!
Я понимаю, что темой этой уже набили изрядную оскомину... но тем не менее копался я тут всю ночь, а толком так вопрос и не решил. Задача такова: есть мув, который реагирует на rollOver (играет анимация, разворачиваются подпункты - то есть другие мувы, вложенные в него). При наведении на каждый подпункт (под-мув, так сказать)) он так же анимируется (просто меняет цвет, всего 2 кадра). Проблема в том, что вложенные мувы не реагируют на rollOver, как известно, если есть события на внешнем муве. Это не все. Я же не зря всю ночь тут сидел Узнал много интересного о том как не надо делать - но так и не разобрался чтобы все заработало ((Как та обезьяна, не понимая, в принципе, основ, из всего что тут есть по теме, решил использовать такой код, как наиболее оптимальный, на мой взгляд (спасибо автору)): m1.onRollOver = function () { this.gotoAndPlay(2);this.onMouseUp = function () { if (this.b1.hitTest(_root._xmouse, _root._ymouse)) {trace ("чего-то там"); } }; m1.onRollOut = function () { this.gotoAndStop(2); delete this.onMouseUp ; }; m1.onRollOver = function () { this.gotoAndPlay(2); if (this.b1.hitTest(_root._xmouse, _root._ymouse)) { b1.onRollOver = function () { this.gotoAndPlay(2);} } }; m1.onRollOut = function () { this.gotoAndStop(2); delete this.onMouseUp ; }; Понимаю, что это все должно быть просто, но никак не разберусь - как именно. Хоть убейте. Поможете? Может, какой-то другой вариант? PS Поймите правильно, я не флешер, я даже не учусь (поздно уже). Вот красиво нарисовать что-то, сделать анимацию - да. Но программить - не оттуда голова выросла. Иначе бы не просил, учился бы. Заранеее спасибо всем, кто откликнется. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Могу ошибаться, во флэше не проверял.
var subMovies = [m1.b1, m1.b2, m1.b3]; // Массив вложенных мувиков m1.onRollOver = function () { this.gotoAndPlay(2); this.onEnterFrame = function(){ for(var i in subMovies){ if(subMovies[i].hitTest(_root._xmouse, _root._ymouse)){ subMovies[i].gotoAndStop(2); // Если вложенный мувик под курсором, то перебросить его на второй кадр } else { subMovies[i].gotoAndStop(1); } } } }; m1.onRollOut = function () { delete this.onEnterFrame; this.gotoAndStop(2); };
__________________
hauts.ru Последний раз редактировалось Hauts; 15.01.2010 в 09:00. |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 9
|
Попробовал - что-то не работает (
Идея классная - чтобы через массив сделать все, я бы сам точно не смог, хотя сам общий принцип мне понятен )) Но пока не получается что-то. прикрепил исходник - может я там что-то не так делаю? |
|
|||||
|
Регистрация: Apr 2007
Сообщений: 9
|
А, все! Разобрался!! У меня в этом примере анимация больше 2-х кадров на кнопках, потому и не работал ваш код ))
Спасибище огромное! Где тут памятник можно поставить? ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|