![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 14
|
Всем привет. Помогите, пожалуйста доделать анимацию, для кнопки. Клип создал, а со скриптом проблема. Нужна активация при наведении и наоборот. Обшарил весь инет, пришёл к вам, как к специалистам этого дела.
Это нужно для сайта нашей фирмы, попросили меня, а сам я дизайнер-верстальщик. Вот такие дела) Заранее спасибо. Файл http://*********/30355797 Последний раз редактировалось stason85i; 18.01.2011 в 13:32. |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 22
|
вообще во flash есть специальный символ кнопка
он позволяет в четырёх кадрах создать кнопку с возможностью реагировать на события Up, Over, Down, hit но если нужна более серьёзная анимация, то на временной шкале рисуете поведение кнопки и при помощи примерно такого кода управляете передвижением package scripts.components.buttons { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.Event; import flash.ui.Mouse; import flash.ui.MouseCursor; public class Button1 extends MovieClip { //********************************************************************* // 1. Пременные класса private var mouse:Boolean = false;// true указатель мыши над кнопкой //********************************************************************* // 2. Конструктор класса public function Button1() { // останавливаем клип stop(); // присваиваем название кнопке и устанавливаем параметры текстового поля labelText(); labelButton.mouseEnabled = false; // ставим слушатель события наведения курсора на кнопку addEventListener(MouseEvent.MOUSE_OVER, mouseOverListener); } //********************************************************************** // 3. Функции слушателей событий // 3.1 Наведение курсора мыши на кнопку private function mouseOverListener(e:MouseEvent) { // меняем указатель мыши на руку и направление проигрывания клипа Mouse.cursor = MouseCursor.BUTTON; mouse = true; // добавляем слушателей событий для кнопки addEventListener(Event.ENTER_FRAME, frameListener); addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener); addEventListener(MouseEvent.CLICK, clickListener); } // 3.2 убирание курсора мыши с кнопки private function mouseOutListener(e:MouseEvent) { // меняем курсор мыши на стрелку и направление проигрывания коипа Mouse.cursor = MouseCursor.ARROW; mouse = false; } // 3.3 функция проигрывания клипа кнопки private function frameListener(e:Event) { // при курсоре мыши над кнопкой проигрывание вперёд при убирании назад if (mouse) { nextFrame(); } else { prevFrame(); } // в случае если указатель мышки вышел за пределы кнопки и проигрался клип до конца // удаляем лишние слушатели if (! mouse && currentFrame == 0) { removeEventListener(MouseEvent.MOUSE_OUT, mouseOutListener); removeEventListener(Event.ENTER_FRAME, frameListener); removeEventListener(MouseEvent.CLICK, clickListener); } } // 3.4 функция обработки нажатия private function clickListener(e:MouseEvent) { trace('кнопка нажата'); } //******************************************************************** // 4 Открытые методы класса // 4.1 Присвоение названия кнопки public function labelText(value:String="имя кнопки 20 симв."):void{ // проверяем длину введённого значения конопки если она не превышает 20 символов // вводим её значение на кнопку if (value.length<20){ labelButton.text=value; }else{ labelButton.text="не более 20 символов"; } } } } Добавлено через 3 минуты вообще во flash есть специальный символ кнопка он позволяет в четырёх кадрах создать кнопку с возможностью реагировать на события Up, Over, Down, hit но если нужна более серьёзная анимация, то на временной шкале рисуете поведение кнопки и при помощи примерно такого кода управляете передвижением package scripts.components.buttons { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.Event; import flash.ui.Mouse; import flash.ui.MouseCursor; public class Button1 extends MovieClip { //********************************************************************* // 1. Пременные класса private var mouse:Boolean = false;// true указатель мыши над кнопкой //********************************************************************* // 2. Конструктор класса public function Button1() { // останавливаем клип stop(); // присваиваем название кнопке и устанавливаем параметры текстового поля labelText(); labelButton.mouseEnabled = false; // ставим слушатель события наведения курсора на кнопку addEventListener(MouseEvent.MOUSE_OVER, mouseOverListener); } //********************************************************************** // 3. Функции слушателей событий // 3.1 Наведение курсора мыши на кнопку private function mouseOverListener(e:MouseEvent) { // меняем указатель мыши на руку и направление проигрывания клипа Mouse.cursor = MouseCursor.BUTTON; mouse = true; // добавляем слушателей событий для кнопки addEventListener(Event.ENTER_FRAME, frameListener); addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener); addEventListener(MouseEvent.CLICK, clickListener); } // 3.2 убирание курсора мыши с кнопки private function mouseOutListener(e:MouseEvent) { // меняем курсор мыши на стрелку и направление проигрывания коипа Mouse.cursor = MouseCursor.ARROW; mouse = false; } // 3.3 функция проигрывания клипа кнопки private function frameListener(e:Event) { // при курсоре мыши над кнопкой проигрывание вперёд при убирании назад if (mouse) { nextFrame(); } else { prevFrame(); } // в случае если указатель мышки вышел за пределы кнопки и проигрался клип до конца // удаляем лишние слушатели if (! mouse && currentFrame == 0) { removeEventListener(MouseEvent.MOUSE_OUT, mouseOutListener); removeEventListener(Event.ENTER_FRAME, frameListener); removeEventListener(MouseEvent.CLICK, clickListener); } } // 3.4 функция обработки нажатия private function clickListener(e:MouseEvent) { trace('кнопка нажата'); } //******************************************************************** // 4 Открытые методы класса // 4.1 Присвоение названия кнопки public function labelText(value:String="имя кнопки 20 симв."):void{ // проверяем длину введённого значения конопки если она не превышает 20 символов // вводим её значение на кнопку if (value.length<20){ labelButton.text=value; }else{ labelButton.text="не более 20 символов"; } } } } |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 14
|
спасибо, но я новичок в этом деле))) специальность не та) я только заню куда вставлять этот код, а дальше полный ноль, поэтому и пришёл за помощью к вам.
Файл http://*********/30355797 Последний раз редактировалось stason85i; 18.01.2011 в 13:01. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Вот эти манипуляции вообще не понятны:
Какой в них смысл? Достаточно внутри кнопки добавить одну строчку: И курсор сам будет меняться на палец и обратно, при поднесении к кнопке. stason85i, файл лучше закинуть на http://*********/ а ссылку выложить сюда. Так быстрее помогут. Последний раз редактировалось goodguy; 18.01.2011 в 12:39. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 14
|
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
А что конкретно должно происходить? Эти штуки должны начать крутиться?
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 14
|
да, и лампочки поочерёдно загорают. вроде всё
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 14
|
Спасибо большое, выручил.
Если что обращайся, помогу с дизайном или вёрсткой))) Добавлено через 5 минут А как ты собрал все кадры в один?) |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|