Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: ПРОБЛЕМА С МЕНЮ
Flash Zone Forum > Macromedia Flash > Общие вопросы
solo_view
ПРОБЛЕМА С FLASH-МЕНЮ. ЕСТЬ СПИСОК ФИРМ. НА КАЖДУЮ СВОЯ КНОПКА. ПРИ ПОДВЕДЕНИИ МЫШКИ В ЗОНУ КНОПКИ ПОЯВЛЯЕТСЯ ЛОГО ФИРМЫ. УБИРАЕМ-ИСЧЕЗАЕТ. ПРОБЛЕМА В ТОМ ЧТО ПРИ БЫСТРОМ ДВИЖЕНИИ МЫШКИ МЕНЮ ЗАВИСАЕТ, ВИДИМО Н УСПЕВАЕТ ОБРАБАТЫВАТЬ СОБЫТИЕ. ЧТО ДЕЛАТЬ? ПОМОГИТЕ СОВЕТОМ!
Duncon
Сделай временную задержку, по истечении времени проверь там ли еще мышь..
Или варриант при движении над остальной областью выставлять флаг и собственно показ чего-то там будет зависить от этого флага..
nikitar
Покажи код, который появляет-убирает лого.
solo_view
Цитата(Duncon @ 19.06.2007 - 15:45) *
Сделай временную задержку, по истечении времени проверь там ли еще мышь..
Или варриант при движении над остальной областью выставлять флаг и собственно показ чего-то там будет зависить от этого флага..

А КАК ПРОВЕРИТЬ ЧТО УКАЗАТЕЛЬ МЫШИ НАХОДИТЬСЯ НЕ НАД КНОПКОЙ? У МЕНЯ НА КАЖДОМ КАДРЕ СТОИТ ПО ОДНОМУ ЛОГО. КОГДА МЫШЬ УХОДИТ С СООТВЕТСВУЮЩЕЙ КНОПКИ СРАБАТЫВАЕТ СОБЫТИЕ "ON ROLL OUT" И МУВИК ПЕРЕХОДИТ НА ПЕРВЫЙ КАДР ГДЕ МЕНЮ БЕЗ ЛОГО. ВСЕ РАБОТАЕТ ПОКА НЕ НАЧИНАЕШЬ БЫСТРО ПЕРЕБИРАТЬ МЫШКОЙ КНОПКИ, НА ОДНОЙ ИЗ НИХ СТОПОРИТСЯ.
solo_view
Цитата(nikitar @ 19.06.2007 - 16:06) *
Покажи код, который появляет-убирает лого.

Я РАЗБИЛ МЕНЮ С КНОПКАМИ ПО КАДРАМ. НА КАЖДОМ КАДРЕ СТОИТ ПО ОДНОМУ ЛОГО. КОГДА МЫШЬ ПОПАДАЕТ НА КНОПКУ СРАБАТЫВАЕТ СОБЫТИЕ "ON ROLL OVER" И МУВИК ПЕРЕХОДИТ НА КАДР С СООТВ. ЛОГО, А КОГДА МЫШЬ УХОДИТ С СООТВЕТСВУЮЩЕЙ КНОПКИ СРАБАТЫВАЕТ СОБЫТИЕ "ON ROLL OUT" И МУВИК ПЕРЕХОДИТ НА ПЕРВЫЙ КАДР ГДЕ МЕНЮ БЕЗ ЛОГО. ВСЕ РАБОТАЕТ ПОКА НЕ НАЧИНАЕШЬ БЫСТРО ПЕРЕБИРАТЬ МЫШКОЙ КНОПКИ, НА ОДНОЙ ИЗ НИХ СТОПОРИТСЯ. СОБЫТИЯ КНОПОК ОРГАНИЗОВАНЫ НА ПАНЕЛИ "BEHAVIORS"
МОЖЕТ ЕСТЬ ЕЩЕ КАКОЙ НИБУДЬ СПОСОБ ОРГАНИЗОВАТЬ ПОДОБНОЕ МЕНЯ?
MustLive
Цитата
ПОМОГИТЕ СОВЕТОМ!

solo_view

Перестань писать весь текст заглавными буквами. Это плохой стиль и нехороший тон.

Цитата
ПРОБЛЕМА С FLASH-МЕНЮ.

Проблема в коде. Как уже говорил nikitar, тебе стоит показать код (какой-либо одной кнопки, т.к. код повторяется) обработчика событий мыши. Тогда можно будет проанализировать код, и порекомендовать необходимые улучшения.
solo_view
Цитата(MustLive @ 21.06.2007 - 02:43) *
solo_view

Перестань писать весь текст заглавными буквами. Это плохой стиль и нехороший тон.
Проблема в коде. Как уже говорил nikitar, тебе стоит показать код (какой-либо одной кнопки, т.к. код повторяется) обработчика событий мыши. Тогда можно будет проанализировать код, и порекомендовать необходимые улучшения.


код кнопоки на кадре без лого
on (rollOver) {

//Movieclip GotoAndStop Behavior
this.gotoAndStop("2");
//End Behavior

}

код кнопоки на кадре с лого
on (rollOut) {

//Movieclip GotoAndStop Behavior
this.gotoAndStop("1");
//End Behavior
}
on (release) {

//Goto Webpage Behavior
getURL("klienti_1.html","_top");
//End Behavior
}
MustLive
solo_view

Касательно твоего кода wink.gif

Комментарий "//End Behavior" не особо нужный, т.к. конец блока обработчика событий виден по закрывающейся фигурной скобке. Иногда подобные закрывающиеся комментарии практикуются (это дело стиля), но они в большинстве случаев лишние. Лишь нагромождают код.

С лишними возвратами каретки после открывающейся и перед закрывающейся фигурной скобокой ты также разберись. Т.к. в первом блоке у тебя два лишних возврата каретки, а в двух других - один возврат. Делать лишние строки или нет, тебе решать, но стоит делать это последоватьльно (одинаково во всей программе). Это что касается твоего стиля, а сейчас разберёмся с проблемой в твоём коде.

Цитата
код кнопоки на кадре без лого
...
код кнопоки на кадре с лого

solo_view, у меня подозрения, что проблема именно в том, что ты расположил код в разных кадрах (который нужно было в одном кадре разместить). Так как проблемы данной быть не должно - если правильно разместить код, то при любой скорости наведения (даже если очень быстро двигать курсор мыши) обработчик наведения будет нормально работать. Поэтому тебе нужно в одном кадре установить свой код (или тот же код в обоих кадрах), а не часть в кадре без лого, а часть в кадре с лого. Что и может приводить к имеющимся у тебя проблемам с неведением курсора.

Вставь следующий код (на кнопку) в одном кадре - в том кадре, где у тебя эта кнопка размещена на сцене. Если у тебя два ключевых кадра в слое где расположена эта кнопка, то нужно в обеих ключевых крадрах вставить (но в этом случае лучше сделать один ключевой кадр с кнопкой с AS кодом и дальше просто добавить обычных кадров, чтобы код был в одном месте, или можешь переписать код не на кнопку, а в кадр).
Код
on (rollOver) {
    this.gotoAndStop("2");
}
on (rollOut) {
    this.gotoAndStop("1");
}
on (release) {
    getURL("klienti_1.html","_top");
}
solo_view
Цитата(MustLive @ 22.06.2007 - 16:16) *
solo_view

Касательно твоего кода wink.gif

Комментарий "//End Behavior" не особо нужный, т.к. конец блока обработчика событий виден по закрывающейся фигурной скобке. Иногда подобные закрывающиеся комментарии практикуются (это дело стиля), но они в большинстве случаев лишние. Лишь нагромождают код.

С лишними возвратами каретки после открывающейся и перед закрывающейся фигурной скобокой ты также разберись. Т.к. в первом блоке у тебя два лишних возврата каретки, а в двух других - один возврат. Делать лишние строки или нет, тебе решать, но стоит делать это последоватьльно (одинаково во всей программе). Это что касается твоего стиля, а сейчас разберёмся с проблемой в твоём коде.
solo_view, у меня подозрения, что проблема именно в том, что ты расположил код в разных кадрах (который нужно было в одном кадре разместить). Так как проблемы данной быть не должно - если правильно разместить код, то при любой скорости наведения (даже если очень быстро двигать курсор мыши) обработчик наведения будет нормально работать. Поэтому тебе нужно в одном кадре установить свой код (или тот же код в обоих кадрах), а не часть в кадре без лого, а часть в кадре с лого. Что и может приводить к имеющимся у тебя проблемам с неведением курсора.

Вставь следующий код (на кнопку) в одном кадре - в том кадре, где у тебя эта кнопка размещена на сцене. Если у тебя два ключевых кадра в слое где расположена эта кнопка, то нужно в обеих ключевых крадрах вставить (но в этом случае лучше сделать один ключевой кадр с кнопкой с AS кодом и дальше просто добавить обычных кадров, чтобы код был в одном месте, или можешь переписать код не на кнопку, а в кадр).
Код
on (rollOver) {
    this.gotoAndStop("2");
}
on (rollOut) {
    this.gotoAndStop("1");
}
on (release) {
    getURL("klienti_1.html","_top");
}


Все заработало! Верно, главное правильно разместить код. Спасибо.

есть еще два вопроса.
1. при установки моего флеш-меню в HTML-страницу ( в Dreamweaver 8) и при просмотре на другом компюютере при подведении к меню мышки появляется обрамляющая рамка. С чем это может быть связано?. С браузером? У меня же все работает нормально.
2 Как поменять указатель наведенной мышы ("указательный палец") на обычную стрелку.
Русская версия IP.Board © 2001-2009 IPS, Inc.