PDA

Просмотр полной версии : Помогите!!!


Анна С.
22.11.2001, 18:28
Возникла проблема!!!
С меню!!!
Есть кнопки с всплывающими менюшками. Когда быстро проводишь мышью от кнопки к кнопке происходит зависание - подменюшка предыдущей кнопки не закрывается...и они обе открытыми висят.
Подскажите, плиз, что можно с этим сделать.
Заранее благодарна всем ответившим...

Editor
22.11.2001, 18:33
Ну енто в первую очередь зависит от прямоты рук.... и от того как ты енти кнопки реализовал.....)))))

Анна С.
22.11.2001, 18:43
Во-первых, реализовалА. ;)
А во-вторых, там что-то видимо со скриптами, там идут переходы от одного фрейма к другому с помощью rollOver и rollOut

Editor
22.11.2001, 18:50
УУУпсссс..... сорьки.... чет внимания на имя не обратил.... :D :D :D
Слушай...... можешь исходник скинуть..... а тама видно будет..... могет помогем..... ;)

vol
22.11.2001, 18:51
Я с этим тоже сталкивался (не переключается назад кадр при шустром уходе с кнопки и другие аналогичные глюки).
Самое радикальное решение - не водить мышем быстро. Страна большая, времени много!
Менее радикальное, зато более муторное - закрывать все открытое принудительно при переходе на новую кнопку (добавив все, что делалось для закрытия менюшки на старой кнопке в код для открытия на новой). А еще у тебя будет глючить, если пропорхаешь с кнопочки на пустое место. Значит, или тестить положение курсора, или прозрачные кнопочки со сбросом сажать, или не морочить себе голову!
Последний вариант самый привлекательный!

sts
22.11.2001, 18:55
да соседним кнопкам сказать on(rollOver){coced.закройся}

Анна С.
22.11.2001, 19:03
Исходник посылаю. :p
Не морочить себе голову не могу (начальство хочет чтобы было так), никуды не денешься. :(
Пробовала уже on(rollOver){coced.закройся}...ничего не выходит....тогда вообще ничего не открывается в принципе, хотя и не понимаю почему... :confused:

Анна С.
22.11.2001, 19:10
Вот и файл

Editor
22.11.2001, 19:28
Малость доработал... ;)
Лови.. :D

Анна С.
23.11.2001, 12:34
Ой....спасибо огромное :D
Чмокся ;)

vol
23.11.2001, 12:47
2 editor и Аня
На самом деле вопрос остается открытым.
Чиркните по правой кнопке по диагонали слева направо в правый угол.
Менюшка не всегда убирается.
Стал быть, (см. я писал выше) нужны еще дополнительные действия по нейтрализации не только перехода между кнопками, но и проскакивания через ОДНУ из кнопок тоже.

Анна С.
23.11.2001, 13:40
Дело в том, что если добавить еще одну кнопку, то вообще странные вещи начинают твориться :(

APM
23.11.2001, 14:52
try to use event on(rollOut) - it works correctly
first step: add such script in knopka/knopka2 ObjectEvent
in frames 1 and 20
on(rollOut)
{ trace("rollOut knopka:" + _name + " frame: " + _currentframe )
}
the same useful add to event rollOver
and test it - you can better understand program behavior
step two: replace trace() script on something more useful.

ore3td
23.11.2001, 16:31
Ребята, а вам обязательно с ролловером/роллаутом? Тут на хиттесте можно куда красивее выехать (ну в смысле НАВЕРНЯКА), но тогда придется юзеру напрячься и надавить на мышь за пределами менющки чтобы она исчезла.

В вашем примере глюк остался по следующему. Мува воспринимает ее(мыши) состояние периодически. И если неожиданно ее(мышь) дернуть, то она СРАЗУ будет далеко от менюшки, а заодно и от большой прозрачной кнопки, на которую ролловер при уезде с клипа. Ролловер не состоится, выпавшее не исчезнет. С этим можно бороться, просто сделав ее(кнопку) на весь экран.

Кроме того, она(МЫШЬ) может оказаться и не слишком-то далеко, но зато на другой кнопке меню. Которая закрывает ту прозрачную кнопку, ролловер опять не происходит, и td.

Есть еще такая фишка rollout. Но почемуто если мышь удивить как-то, глючит аналогчно (2APM).

Так что надо подумать.

Да и вобще, мне бы больше понравилось меню исчезающее от клика. Если оно интересно, закину исходник.

vol
23.11.2001, 17:57
Еще хуже ситуация, когда при наведении на кнопку переключается кадр (сами кнопки видны во всех кадрах), а при ее покидании д.б. возврат назад. При быстром чирканье кадр не переключается назад и, если таких кадров и кнопок много, - тут коллизии возникают еще те... все варианты предусмотреть - ой, тяжко. Я даже возиться устал и бросил.

Editor
23.11.2001, 18:46
Отсюда вывод- нада к каждой ниспадающей менюхе хит область делать с изменяющимися размерами........ и сделать так чтоб проверяла выход из ентой ебласти............. :confused:
Ща!.... попробуем... :D

Editor
23.11.2001, 20:04
Тааак вот...... накидал... :)
Короче.... здеся только пример как мона енто реализовать... только одна кнопка...(ну лом мне ашо рисовать... :D )... но ежели захочешь разберешся.. ;)
По такому же принципу мона зделать лругие менюхи... притом независящие друг от друга... :D

APM
23.11.2001, 21:09
2Editor:
а как можно "удивить" on(rollOut) - уже даже интересно,
если не трудно пример пожалуйста или четкую инструкцию КАК.

Editor
25.11.2001, 11:19
СОрьки конеч.... изыените меня недогадливого....(ну выпил мало.... :D )....
Но я не понял.... че от меня требуется???? :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused:

Max N Chubin
26.11.2001, 14:20
читайте внизу , сорри 2 раза запостил..

Max N Chubin
26.11.2001, 14:24
думаю можно резюмировать так - надо уходить от таких способов реализации меню..
проблемы будут и много!
Делать все нужно иначе - если уж определились что только 2 уровня у меню, то для каждой кнопки отдельный мувик с кучей кнопок внутри и при наведении показывать эти мувики...
общий минус у таких меню - громоздкость и "корявость".
а если представить чо уровней вложенности будет хотя бы 3...
то гемору будет просто завались! хотя бы только с позиционированием...
:)
есть другие пути...

да, кстати., забыл спросить... если вы делаете кому то F-сайт, то вы ему и Flash в придачу выдаете? Чтобы он потом менять менюшки мог... :D

MaxDM
26.11.2001, 16:09
когда-то читал урок "про переменные" и слегка переделал...

Анна С.
26.11.2001, 18:21
А у меня все получилось, и оказалось намного проще, чем казалось...
там просто надо вставить вот такой вот скриптик...

on (rollOut) {
tellTarget ("_root./имя кнопки/") {
gotoAndStop (1);
}
}

и тада все работает...