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

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

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

Регистрация: Jun 2002
Адрес: on the backyard
Сообщений: 285
Отправить сообщение для greep с помощью ICQ
По умолчанию про изинг

Всем привет. Решил прицепить вместо большой либы, себе в проект, маленькую изинговую функцию. Например такую

Код AS1/AS2:
	easeOutQuad = function(t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	}
Где:

t - первая итерация
d - конечная
b - начальная точка
с - конечная точка

Например я хочу программно двигать мувиклип из точки х = 50 в точку х= 310. В течении 50 кадров. Получается у меня такой вот код:

Код AS1/AS2:
if (t<=d) {
			mc._x = easeOutQuart(t, 50, 310, d);
 
			}else{
			d=0;
			}
		t++;
 
		}else{
			mc._x = easeOutQuart(t, 50, 310, d);
			myEasingStatus = false;
		}
Все прекрасно работает пока начальная точка больше нуля, а конечная точка больше начальной. Но если мне нужно двигать мувиклип из точки х=200 в точку х=-200 тут почему-то казалось бы стандартная изинговая формула не арбайтен.

Но если не много ее доработать...

Код AS1/AS2:
	easeOutQuad = function(t, b, c, d) {
		var b2 = b;
		var c2 = c;
		if(b > c){
			b = c2;
			c = c2-b2;
		}
		return -c *(t/=d)*(t-2) + b;
	}
то по крайней мере из точки 400 можно анимировать в точку 100...

Задачка собственно состоит в том, чтобы можно было бы использовать все эти многочисленные изинговые функции и многочисленных фреймворков типа jqwery и прочих библиотек универсально. Просто добавляешь функцию к себе и вставляешь любые значения, типа из х=0 в х=500 или из х=100 в х=-200 или х=1 в х=0 и т.д.

помогите пожалуйста разобраться как этого можно достичь. большое спасибо заранее, бьюсь второй день...


Последний раз редактировалось greep; 13.01.2015 в 13:48.
Создать новую тему   Часовой пояс GMT +4, время: 17:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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