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

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

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

Регистрация: Aug 2013
Сообщений: 56
UserSuperPupsik, ну так я же думал, что вам именно такое поведение и нужно, чтобы разные объекты не зависели друг от друга. Кто ж мог подумать, что вам нужен один стек анимации на всех. Ну вот как-то так будет:
Код AS3:
var aniParameters:Array = new Array();
function ani(object:DisplayObject, parameters:Array, time:Number = 1):void
{
	if(object && parameters){
		for each(var item:Object in parameters) {
			item.object = object;
			if(!item.t) item.t = time;
		}
		if(!aniParameters.length) aniParameters = parameters;
		else {
			aniParameters = aniParameters.concat(parameters);
			return;
		}
	}
	if(aniParameters.length){
		var nextParameters:Object = aniParameters.shift();
		var nextObject:DisplayObject = nextParameters.object;
		var nextTime:Number = nextParameters.t;
		delete nextParameters.object;
		delete nextParameters.t;
		if(aniParameters.length) {
			nextParameters.onComplete = arguments.callee;
			nextParameters.onCompleteParams = [null, null];
		}
		TweenLite.to(nextObject, nextTime, nextParameters);
	}
}
 
/**
 * Ну и соббсна пример
 * Обратите внимание, что к прочим параметрам анимации (x,y,ease и т.д.) я добавил еще один необязательный - t
 * Это время анимации в секундах, как и последняя переменная, принимаемая функцией.
 * То есть те шаги, у которых t не указан как и раньше будут брать время общее для всех шагов,
 * а у которых указан будет свое индивидуальное)
 */
ani(simbol1, [{x:500, y:10, t:2},{x:500, y:350},{x:30,y:350, ease:Elastic.easeIn}], 3);
 
ani(simbol2, [{x:400,y:400, t:2},{x:20, y:17}]);
ani(simbol2, [{x:400,y:17, t:2},{x:14,y:300, t:3}]);


Последний раз редактировалось Котейка; 14.08.2013 в 07:11.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

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

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


 


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


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