Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 18:52   #1
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
Подмигивание Flash Анимация формы по наведению мышки

Доброго всем времени суток!

Проблема следующего характера:

Есть форма, которая меняется с помощью анимации формы, есть кнопка.
Вопрос: какой актион скрит необходимо прописать для того, чтобы при наведении мышки на кнопку выполнялась анимация; как только мышка уходит с кнопки анимация возвращается в первый кадр. Заранее спасибо!
glazik вне форума Ответить с цитированием
Старый 16.01.2013, 22:55   #2
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

У мыши есть событие MOUSE_OVER(навели) и MOUSE_OUT(убрали).

Напишите для них то, что нужно...

Код:
animation_btn.addEventListener(MouseEvent.MOUSE_OVER , nameFunction);

function nameFunction(e:MouseEvent):void {
   //здесь то, что нужно
}


animation_btn.addEventListener(MouseEvent.MOUSE_OUT , nameFunction2);

function nameFunction2(e:MouseEvent):void {
   //здесь то, что нужно
}
This world will never be What I expected (c)

Последний раз редактировалось misher; 17.01.2013 в 01:29.
misher вне форума Ответить с цитированием
Старый 18.01.2013, 00:57   #3
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
По умолчанию

Да все это я понял, спасибо, но забыл написать что кнопка движется тоже и, соответственно уходит из под мышки сама и все останавливается. Следовательно вопрос немного меняется:

Как при наведении мышки на кнопку, анимация срабатывала 1 круг и не повторялась, а возвращалась в первый кадр?
glazik вне форума Ответить с цитированием
Старый 18.01.2013, 02:50   #4
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Я не до конца понимаю, но вот несколько решений.

1. Поскольку кнопка будет уходит от курсора, то нужно его прицепить к кнопке, только вот не знаю, реально ли это.

2. Кидаете 2 кнопки одно будет в анимации, а вторая для OVER, первую изначально прячете(свойство visible), а второй пишете события перехода на анимацию, затем делаете ее практически невидимой (прозрачной), через свойство alpha.

Цитата:
Чтобы срабатывала 1 круг
Ну либо ее остановить stop(); либо удалять событие remove.
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 18.01.2013, 15:17   #5
rocket-ua
Пользователь
 
Аватар для rocket-ua
 
Регистрация: 21.01.2011
Сообщений: 46
По умолчанию

по маусоверу запускать анимацию кнопки и убиваем листенер на маусовер.
так как у мувиклипа нет никаких событий о завершении проигрывании клипа, то в ентерфрейме смотрим какой сейчас кадр в анимации кнопки, и если последний то переходим на первый, останавливаемся и добавляем листенер на маумовер.
rocket-ua вне форума Ответить с цитированием
Старый 21.01.2013, 13:05   #6
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
По умолчанию

А можно поподробнее. Как убить листенер? У меня кнопка с анимацией уходит из под курсора, нужно чтоб анимация прогигрывалась 1 раз при наведении курсора и возвращалась в обратку.
glazik вне форума Ответить с цитированием
Старый 21.01.2013, 13:35   #7
rocket-ua
Пользователь
 
Аватар для rocket-ua
 
Регистрация: 21.01.2011
Сообщений: 46
По умолчанию

слушатели убираются вот так вот:
removeEventListener("событие", функция);

ну так я и написал как можно сделать с учетом того что кнопка уходит из-под курсора
rocket-ua вне форума Ответить с цитированием
Старый 24.01.2013, 14:58   #8
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
По умолчанию

Делал, делал, получилось что то вроде:
Код:
stop();
lstrelka.addEventListener(MouseEvent.MOUSE_OVER, playF);
function playF (e:MouseEvent) : void {
	play();
	if(currentFrame = 10)
	{
		stop();
	}
	
	
}
lstrelka.addEventListener(MouseEvent.MOUSE_OUT, stopF);
function stopF (e:MouseEvent) : void {
	if(currentFrame == 1)
	{
		gotoAndPlay(totalFrames);
	};
	
	
}
Кнопку решил отодвинуть и замаскировать под интуитивное действие. Вопрос такой не работает строка:
Код:
if(currentFrame = 10)
	{
		stop();
	}
Подскажите синтаксис, пожалуйста! Необходимо чтобы было так, навел мышку на кнопку анимация пошла, дошла до определенного кадра и пока мышка на кнопке анимация стоит, как только мышка ушла с кнопки анимация продолжилась.

И так оффтоп есть ли функция обратного воспроизведения анимации?
glazik вне форума Ответить с цитированием
Старый 24.01.2013, 16:24   #9
rocket-ua
Пользователь
 
Аватар для rocket-ua
 
Регистрация: 21.01.2011
Сообщений: 46
По умолчанию

естественно не будет работать.
какой сейчас кадру нужно во первых проверять у мувика в котором анимация, а во вторых проверять это нужно в етер фрейме.

как вариант можно сделать так:
на кнопку вешаем листенеры на маусовер и на маусаут.
вешаем листенер на ентер фрейм.
в хендлере ентерфрейма смотрим какой сейчас фрейм у кнопки, и если тот что нужно останавливаем анимацию на кнопке.
в хендлере на маусовер переходим на нужный кадр и воспросизводим анимацию.
в хендлере на маусаут делаем то же самое только с другими кадрамами.

на сколько я помню стандартных средств проигрывания анимации в обратной последовательности нет.
rocket-ua вне форума Ответить с цитированием
Старый 24.01.2013, 17:20   #10
glazik
Пользователь
 
Аватар для glazik
 
Регистрация: 03.03.2011
Сообщений: 80
По умолчанию

Все супер спасибо, сейчас попробую, только небольшое уточнение по синтаксису:
Цитата:
вешаем листенер на ентер фрейм.
в хендлере ентерфрейма смотрим какой сейчас фрейм у кнопки, и если тот что нужно останавливаем анимацию на кнопке.
Код:
strelkal.addEventListener(enterFrame, func1);
Что дальше именно по коду, какова реализация????
glazik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавная смена изображений по наведению Иванна JavaScript, Ajax 4 19.10.2012 16:29
Кооридинаты мышки, курсора (вне формы) ShamanK C# (си шарп) 4 02.02.2012 15:18
AlphaSkins, анимация формы AquaKlaster Компоненты Delphi 2 22.03.2010 07:41
Flash анимация на рабочий стол! zhansultan Свободное общение 8 15.04.2009 08:46
Координаты мышки НЕ относительно формы Nowichok Общие вопросы Delphi 2 27.02.2007 17:03