Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Момогите сделать сложное меню!!! (http://www.flasher.ru/forum/showthread.php?t=36636)

DirectX 02.09.2002 22:51

Момогите сделать сложное меню!!!
 
Продвинутые флэшеры!
Помогите!
Искал на многих сайта и форумах, и тут тоже искал, но не нашел... (может плохо искал?)
Проблема:
как сделать такое меню http://macromedia.com/uber/nav/global.swf ???

Т.е. там при наведении на кнопку, она высвечивается синим цветом. Когда отводишь курсор с кнопки, синий цвет не резко меняется на серый (Over на Up) а плавно, т.к. прокручивается маленький флэшик.
Как такое сделать?
Где можно найти исходник?
Помогите!

P.S. На одном из форумов по флэшу нашел вот что:
"Где можно узнать, как сделана система меню у Макромедии на сайте (это их стандартное меню)?
Что-то похожее (или не очень?) есть в [Flas path]\Samples\Hierarchical.fla"
У меня Flash5 и никакого Hierarchical.fla у меня нет :(
Если это действительно, как на macromedia.com, пришите мне, пожалуйста!

sergwizard 03.09.2002 03:30

Просто вставь в третий фрейм (Out) кнопки клип с плавным изменением цвета кнопки.

stormaster 03.09.2002 11:20

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

WD` 03.09.2002 12:42

Цитата:

Оригинал написал(а) sergwizard
Просто вставь в третий фрейм (Out) кнопки клип с плавным изменением цвета кнопки.
а у тя какой флэш? :p

WD` 03.09.2002 12:45

делай мув с плавным посинением, а потом плавным возвратом в исход состояние кнопки, и в др. сслое - прозрачн. кнопку.

on(rollOver) - goto...
on(rollOut) - goto...

Useless 03.09.2002 14:39

Скакать будет, падла. Если мышу уберёшь раньше, чем она посинеет - будет скачок цвета. Надо либо реверсировать посинение через вложенный трёхкадровик с (forward ? nextFrame() : prevFrame()), либо перескакивать по текущему значению _currentframe на соответствующий кадр обратной анимации. Второй способ менее надёжный, зато не требует лишнего клипа. А ещё можно скриптом цвет менять, если не лень долбаться :)

DirectX 03.09.2002 21:24

Все это понятно, я пробовал.
Скачет.
Что такое "реверсировать посинение через вложенный трёхкадровик с (forward ? nextFrame() : prevFrame())"???
Куда ЭТО писать? (forward ? nextFrame() : prevFrame()) ???

Useless 04.09.2002 16:07

Делаешь пустой мув из двух кадров. Первый кадр - пустой, во второй пишешь код:
Код:

forward ? _parent.nextFrame() : _parent.prevFrame();
gotoAndPlay(1);

Делаешь мув с анимацией посинения (только в одну сторону - из обычного состояния в синее). Вкладываешь в него вышеописанный двухкадровик, и обзываешь, скажем, 'mover'. В первый кадр анимации пишешь:
Код:

stop();
mover.gotoAndStop(1);

В последний:
Код:

mover.gotoAndStop(1);
Вставляешь невидимую кнопку в мув с анимацией, вешаешь на неё экшны:
Код:

on(rollOver){
  mover.forward=true;
  mover.play();
}on(rollOut){
  mover.forward=false;
  mover.play();
}

Должно работать :)

LostWarrior 04.09.2002 17:14

Можно сделать в первом кадре кнопки мув с плавным затуханием, а во втором с плавным посинением. Чтоб не дергалось - отслеживать текущий кадр и начинать процесс с него: например в мувике 10 кадров, посинеть успело до 4-ого, значить белеть должно с 10-(4+1)=7...

DirectX 06.09.2002 09:40

Как понял, так и сделал - не получилось...
Подробнее...

"Делаешь пустой мув из двух кадров. "
Т.е. создать новый Movie Clip? Создал. Назвал, например, "2".
Во второй кадр вставил:
forward ? _parent.nextFrame() : _parent.prevFrame();
gotoAndPlay(1);

"Делаешь мув с анимацией посинения (только в одну сторону - из обычного состояния в синее). Вкладываешь в него вышеописанный двухкадровик, и обзываешь, скажем, 'mover'."
Я созлаю еще один новый Movie Clip. Называю его "mover".
В нем четыре слоя:
1) мув с анимацией посинения
2) код (в первом и последнем кадре)
3) слой с вложенным из библиотеки мувом "2" (двухкадровик)
4) невидимая кнопка с кодом:
on(rollOver){
mover.forward=true;
mover.play();
}on(rollOut){
mover.forward=false;
mover.play();
}

Теперь в пока пустую Сцену вкладываю "mover".
Все.Test Movie. Вижу только начальную стадию синения. (первый кадр)
Вот так.
Что я не так сделал.


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

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