Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.01.2011, 11:13
stason85i вне форума Посмотреть профиль Отправить личное сообщение для stason85i Найти все сообщения от stason85i
  № 1  
Ответить с цитированием
stason85i

Регистрация: Jan 2011
Сообщений: 14
По умолчанию Как активировать кнопку при наведении мыши?

Всем привет. Помогите, пожалуйста доделать анимацию, для кнопки. Клип создал, а со скриптом проблема. Нужна активация при наведении и наоборот. Обшарил весь инет, пришёл к вам, как к специалистам этого дела.
Это нужно для сайта нашей фирмы, попросили меня, а сам я дизайнер-верстальщик. Вот такие дела)
Заранее спасибо. Файл http://*********/30355797


Последний раз редактировалось stason85i; 18.01.2011 в 13:32.
Старый 18.01.2011, 12:07
DenverusIm вне форума Посмотреть профиль Отправить личное сообщение для DenverusIm Найти все сообщения от DenverusIm
  № 2  
Ответить с цитированием
DenverusIm

Регистрация: Oct 2010
Сообщений: 22
вообще во flash есть специальный символ кнопка
он позволяет в четырёх кадрах создать кнопку с возможностью реагировать на события Up, Over, Down, hit
но если нужна более серьёзная анимация, то на временной шкале рисуете поведение кнопки и при помощи примерно такого кода управляете передвижением
Код AS3:
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
но если нужна более серьёзная анимация, то на временной шкале рисуете поведение кнопки и при помощи примерно такого кода управляете передвижением
Код AS3:
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 символов";
			}
 
		}
	}
}
что типа того но для того что бы реально ответить необходимо видеть что именно вы нарисовали и понимать как должна отрабатывать анимация

Старый 18.01.2011, 12:35
stason85i вне форума Посмотреть профиль Отправить личное сообщение для stason85i Найти все сообщения от stason85i
  № 3  
Ответить с цитированием
stason85i

Регистрация: Jan 2011
Сообщений: 14
спасибо, но я новичок в этом деле))) специальность не та) я только заню куда вставлять этот код, а дальше полный ноль, поэтому и пришёл за помощью к вам.
Файл http://*********/30355797


Последний раз редактировалось stason85i; 18.01.2011 в 13:01.
Старый 18.01.2011, 12:37
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Вот эти манипуляции вообще не понятны:
Код AS3:
Mouse.cursor = MouseCursor.BUTTON;
			mouse = true;
Какой в них смысл? Достаточно внутри кнопки добавить одну строчку:
Код AS3:
this.buttonMode = true;
И курсор сам будет меняться на палец и обратно, при поднесении к кнопке.

stason85i, файл лучше закинуть на http://*********/ а ссылку выложить сюда. Так быстрее помогут.


Последний раз редактировалось goodguy; 18.01.2011 в 12:39.
Старый 18.01.2011, 12:44
stason85i вне форума Посмотреть профиль Отправить личное сообщение для stason85i Найти все сообщения от stason85i
  № 5  
Ответить с цитированием
stason85i

Регистрация: Jan 2011
Сообщений: 14
http://*********/30355797
Залил
Помогите, кто чем может.

Старый 18.01.2011, 14:26
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 6  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
А что конкретно должно происходить? Эти штуки должны начать крутиться?

Старый 18.01.2011, 14:34
stason85i вне форума Посмотреть профиль Отправить личное сообщение для stason85i Найти все сообщения от stason85i
  № 7  
Ответить с цитированием
stason85i

Регистрация: Jan 2011
Сообщений: 14
да, и лампочки поочерёдно загорают. вроде всё

Старый 18.01.2011, 14:43
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 8  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
http://*********/30356505

Старый 18.01.2011, 14:53
stason85i вне форума Посмотреть профиль Отправить личное сообщение для stason85i Найти все сообщения от stason85i
  № 9  
Ответить с цитированием
stason85i

Регистрация: Jan 2011
Сообщений: 14
Спасибо большое, выручил.
Если что обращайся, помогу с дизайном или вёрсткой)))

Добавлено через 5 минут
А как ты собрал все кадры в один?)

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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