Просмотр полной версии : двух сторонняя анимация кнопки
Находил много тем по поиску, но так ничего под себя и не смог сделать нормально.
Есть кнопка. В ней на овер вставлен муви клип, в котором идёт анимация простая на не сколько кадров. Так вот мне надо чтобы при наведении анимация проигрывалась а при отпускании обратно плавно откатывалась (банально знаю, но ничего не помогает) + ко всему надо что при наведении анимация не просто проигрывалсь а при снятие мышки обратно откатывалась, надо чтобы она даже при быстром наведении проигрывалась до конца а потом откатывалсь обратно. Тоесть если даже юзер задержал на кнопке мышку на долю секунды анимация должна проиграться до конца а потом вернуться начальное положение. Помогите пожалуйста, уже много тем и исходников перерыл, но ничего не сделать. Очень надо
Котяра2006
20.11.2006, 23:10
Попробуй вот это
анимация при наведении должна в любом случае доходить до конца...
анимация при наведении должна в любом случае доходить до конца...
Надо писать класс который отслеживает события мыши, и потом плавно по одному кадру, проходит мувик до нужного кадра. Для этого нужно по событию onEnterFrame принудительно менять свойство _currentframe. Что бы прокручивать мувиклип к нужному положению.
пример.
+
исправлена одна неточность.
Go_frame = 1;
Control = 0;
_root.rolic.onEnterFrame = function() {
if (Control == 1) {
(Go_frame<=this._totalframes) ? Go_frame += 1 : Control=2;
}
if (Control == 2) {
(Go_frame>=1) ? Go_frame -= 1 : Control=0;
}
this.gotoAndStop(Go_frame);
////////////////////////////////////
this.onRollOver = function() {
if (Control == 0) {
Control = 1;
}
};
};
Держи, все так как ты спрашивал =)
нет, он хочет чтобы обратная анимация начиналась когда мыщь уходит с объекта
1. анимация проигрывается доконца при наведенее и замирает на промежуточном кадре, тоесть останавливается когда пройдёт прямая анимация в том случае если на кнопке остаётся мышь, после убирания мыши анимация идёт в обратном порядке тоесть до начального положения.
2. анимация проигрывается до конца, даже если произошло секундное наведение мыши, тоесть если коснулась мышь кнопки анимация проигрывается доконца в любом случае, только в данной ситуации не происходит остановки анимации на промежуточном кадре
----------------------------------------------------------
2. анимация проигрывается до конца, даже если произошло секундное наведение мыши, тоесть если коснулась мышь кнопки анимация проигрывается доконца в любом случае, только в данной ситуации не происходит остановки анимации на промежуточном кадре
Вот этот пункт смущает меня. Не юзабильно. А что будет если пользователь навел, потом сразу же навел и опять навел и тд?
Обычно схема такая:
Есть последовательность анимации, где 4 это конечный кадр, а 1 и 7 одинаковые
1-2-3-[4]-5-6-7
Если навели мышку, то пошла анимации 1-2-3-4-стоп
Отвели 4-5-6-переход на 1 (но код перезода стоит на 7)
Если же невести мышку и потом сразу отвести, и анимация дошла скажем до кадра 3, то когда убираем, анимация идет с кадра 5.
Пусть она успела дойти до 6 и мышку опять навели, тогда она начинается с кадру 2.
ясно, я был бы признателен если бы не просто кидали примеры, а описали как сделать.
Тут все просто при наведени используешь onPress\Release etc.
а потом указываешь кадры gotoAndStop/Play - это по-простому.
а по подробнее
долго уже мучаюсь, никак не сделать
вопрос не решился =_(
а надо срочно
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.