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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.05.2007, 15:22
Светлана222 вне форума Посмотреть профиль Отправить личное сообщение для Светлана222 Посетить домашнюю страницу Светлана222 Найти все сообщения от Светлана222
  № 1  
Ответить с цитированием
Светлана222
 
Аватар для Светлана222

Регистрация: Apr 2006
Адрес: Украина, Макеевка
Сообщений: 112
По умолчанию Как справиться с прыганием анимации с onRollover на onRolout и обратно?

Во вложенном клипе есть анимация, реагирующая на движение мыши. Но при переходе с onRollover на onRolout анимация резко прыгает, а нужен плавный переход может, можно как-то сделать, чтоб анимация при onRolout плавно возвращалась в обратном направлении?
Или если есть обратная анимация анимация, то перейти не на первый кадр этой анимации, а в нужный от конца - если анимация зашла на 3-й кадр движения onRollover, то при onRolout переходит на 3-й от конца обратной анимации??

Особенно прыгает, когда резко дёргать мышкой, что делать? Программирование почти не знаю...

Старый 21.05.2007, 16:23
combo вне форума Посмотреть профиль Отправить личное сообщение для combo Найти все сообщения от combo
  № 2  
Ответить с цитированием
combo
 
Аватар для combo

Регистрация: Nov 2006
Сообщений: 177
Код:
function rollMc(way:String) {
	var step:Number = 1;
	speed += step;
	if (way == "forward") mc.gotoAndStop(mc._currentframe+speed);
	if (way == "back") mc.gotoAndStop(mc._currentframe-speed);
	if (mc._currentframe == mc._totalframes or mc._currentframe <= 1) {
		clearInterval(interval);
	}
};

mc.onRollOver = function() {
	speed = 1;
	clearInterval(interval);
	interval = setInterval(rollMc, 25, "forward");
};
mc.onRollOut = function() {
	speed = 1;
	clearInterval(interval);
	interval = setInterval(rollMc, 25, "back");
};

var interval:Number;
var speed:Number;
mc.stop();
mc - ваш мувиклип. я тут еще сделал ускорение(speed) - можете убрать, т.к. из-за него будут пропускаться кадры.


Последний раз редактировалось combo; 21.05.2007 в 16:40.
Старый 22.05.2007, 10:14
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 3  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Я же вам об этом уже писал, и код мой с этим справляется.
__________________
"We Are The Champions My Friends!" Queen

Старый 22.05.2007, 15:55
Светлана222 вне форума Посмотреть профиль Отправить личное сообщение для Светлана222 Посетить домашнюю страницу Светлана222 Найти все сообщения от Светлана222
  № 4  
Ответить с цитированием
Светлана222
 
Аватар для Светлана222

Регистрация: Apr 2006
Адрес: Украина, Макеевка
Сообщений: 112
Да, плавно двигается, если мышка двигается плавно, но при быстром движении мышкой происходит скачок анимации. Может, спорят области реагирования разных клипов? Но как с этим справиться...

Старый 22.05.2007, 16:04
BM Senya вне форума Посмотреть профиль Найти все сообщения от BM Senya
  № 5  
Ответить с цитированием
BM Senya
Banned
 
Аватар для BM Senya

Регистрация: Feb 2007
Адрес: Ростов-на-Дону
Сообщений: 214
Код:
btn.onRollOut=function() {
var i=this._currentframe
this.onEnterFrame = function() {
this.gotoAndStop(i--)
}
}
btn.onRollOver=function() {
delete (this.onEnterFrame)
this.play()
}

Старый 22.05.2007, 17:24
combo вне форума Посмотреть профиль Отправить личное сообщение для combo Найти все сообщения от combo
  № 6  
Ответить с цитированием
combo
 
Аватар для combo

Регистрация: Nov 2006
Сообщений: 177
Ну, вообще реакция на onRoll'ы моментальная.. В том примере что я дал, скачков нет(во всяком случае с fps>20). Если вы про то что, например, если очень резко дергать вперёд-назад над клипом и onRoll'ы быстро(естественно) срабатывают, то можно поставить простенький таймер, засекающий интервал между событиями и препятсвующий мгновенному реагированию.

Старый 22.05.2007, 17:32
vapes вне форума Посмотреть профиль Отправить личное сообщение для vapes Найти все сообщения от vapes
  № 7  
Ответить с цитированием
vapes
 
Аватар для vapes

блогер
Регистрация: Nov 2006
Адрес: Минск
Сообщений: 370
Записей в блоге: 6
Отправить сообщение для vapes с помощью ICQ Отправить сообщение для vapes с помощью Skype™
Не обязательно ставить таймер, достаточно поставить на время проигрывания анимации mouseEnabled=false;

Старый 22.05.2007, 17:33
Светлана222 вне форума Посмотреть профиль Отправить личное сообщение для Светлана222 Посетить домашнюю страницу Светлана222 Найти все сообщения от Светлана222
  № 8  
Ответить с цитированием
Светлана222
 
Аватар для Светлана222

Регистрация: Apr 2006
Адрес: Украина, Макеевка
Сообщений: 112
А это как? Куда ставить?

Старый 22.05.2007, 17:43
combo вне форума Посмотреть профиль Отправить личное сообщение для combo Найти все сообщения от combo
  № 9  
Ответить с цитированием
combo
 
Аватар для combo

Регистрация: Nov 2006
Сообщений: 177
Что-то ничего про mouseEnabled в хелпе не нашел...

Светлана222, попробуйте менять значение mc.enabled с true на false в функции проигрывания мувика.

Старый 22.05.2007, 18:12
Светлана222 вне форума Посмотреть профиль Отправить личное сообщение для Светлана222 Посетить домашнюю страницу Светлана222 Найти все сообщения от Светлана222
  № 10  
Ответить с цитированием
Светлана222
 
Аватар для Светлана222

Регистрация: Apr 2006
Адрес: Украина, Макеевка
Сообщений: 112
Это где??
Вот прыгает и прыгает...
http://artistdesigner.narod.ru/Portf...io_people.html


Последний раз редактировалось Светлана222; 22.05.2007 в 18:39.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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