WebDix.ru - сайт журнала WEB-DIX
Делаем сложную кнопку
Колонка редактора Веб-дизайн Раскрутка Раскрутка Программирование Уроки Photoshop Уроки Flash Журнал Софт Юмор

Menu:


Seo-студия Seovik.com - прогон по каталогам и раскрутка сайтов!

RusFAQ.ru
RusFAQ.ru - ответы на все вопросы. Сообщество профессионалов.
Подробнее


БЫСТРЫЙ ПЕРЕХОД

Делаем сложную кнопку

Автор: Nikitar
Сайт: Rusforumz.com


Привет всем! Сегодня мы попытаемся сделать сложную кнопку. Это не просто простая кнопка, если вы новичок и умеете делать кнопки, урок будет всё равно полезен для вас. Потому что метод создания кнопки, который описан в этом уроке, отличается от обычного создания кнопки. При наведении на кнопку у нас будет проигрываться анимация, а при уведении курсора от неё, она будет плавно заканчиваться. Результат вы можете увидеть внизу страницы. Ну что, готовы? Тогда, пожалуй, приступим!

1. Откройте программу Macromedia Flash (версия от 6-й подойдёт, у меня на скриншотах 8-я версия программы). Создайте новый документ, с любыми размерами, с fps 25 кадров.

Рисуем круг

2. Рисуем круг, можно такой же как и на скриншоте и преобразуем его в символ, просто выделите его и нажмите F8. В открывшемся окне выберите Movieclip (видеоклип). Преобразовали. Возвращаемся на главную сцену и в instance name (имя экземпляра) пишем btn. Маленькие комментарии. Таким образом, мы создали мувиклип и назвали его, это имя мы будем использовать в коде, и оно нужно, чтобы как-то обращаться к мувиклипу.

Мы находимся в мувиклипе круг, во втором кадре во втором мувиклипе

3. Заходим в мувиклип-круг. И видим, что у нас там заполнен только первый кадр, выделяем круг и жмём ctrl+C, затем делаем во втором кадре ключевой кадр и вставляем туда круг (ctrl+V). Выделяем круг во втором кадре и жмём F8 - movieclip (видеоклип) - OK. Заходим в этот мувиклип, который находится во втором кадре. И делаем там анимацию с помощью Motion Tween. Например, как у меня. Шарик изменяет цвет и увеличивается. Причём маленькая тонкость, когда он замедляется, а когда уменьшается, он ускоряется. В общем можно любую анимацию. Это не столь важно в данном вопросе. Главное, что эта анимация будет проигрываться, когда мы наведём курсор на круг. Лучше сделать так, чтобы она была цикличной, то есть первый и последний кадр повторялись.

4. Поднимаемся на уровень выше, теперь у нас есть 2 кадра. Переходим на 3-й кадр и создаём ключевой кадр, в нём тот же круг, что и в первом кадре. У меня он с небольшими модификациями, но это не важно. Вы можете тоже такие создать при желании. Создаём также новый слой в этом мувиклипе и в первом кадре вставляем в панель Actions такую строчку

stop();

5. Теперь переходим в главную сцену, там у нас один-единственный кадр, создаём новый слой, новый ключевой кадр и в него вставляем следующий код

_root.out_btn=false;
btn.onRollOver=function(){
   this.gotoAndStop(2);
}
btn.onRollOut=function(){
   _root.out_btn=true;
}

Кратко поясню, что каждая строчка значит. В первой строчке мы вводим переменную, которая отвечает за то, чтобы перед тем как пользователь уберёт мышь с круга, анимация завершилась. Следующая строка - функция, что произойдёт при наведении мыши на круг, а именно начнёт проигрываться второй кадр этого мувиклипа. Четвуртая строка соответственно, что будет если мышь убрать с круга. А произойдёт присвоение переменной значения true, что это значит вы узнаете из следующего пункта.

6. Заходим в наш круг, во второй кадр, в мувиклип, который во втором кадре находится. Создаём новый слой в этом мувиклипе и ставим в самом последнем кадре такой код

if(_root.out_btn==true){
   _parent.gotoAndStop(3);
}

Выходим на уровень выше и во втором слое в третьем кадре ставим такой код

_root.out_btn=false;
_parent.gotoAndStop(1);

7. Всё должно работать. Жмём ctrl+Enter, и должно получиться нечто, что находится внизу этой страницы.