Показать сообщение отдельно
Старый 07.05.2014, 13:58
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 1  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
По умолчанию TweenMax. Как правильно сократить время анимации?

Здравствуйте! Не знал куда написать, проект пишется на Starling, но проблема как мне кажется его не касается здесь.
Есть 5 вращающихся барабанов слот-машины. Все они находятся в векторе.
Происходит запуск с помощью TweenMax, и каждый экземпляр анимации сохраняем в этом же барабане.
Остановку решил сделать уменьшив параметр repeat каждого экземпляра TweenMax.
Это все работает, если барабаны крутятся не более 6-7 секунд. Если больше, то они останавливаются одновременно.
Подскажите, почему так?

Запуск анимации, repeat:-1:
Код AS3:
// Цикл по всем столбцам
for each (slotItem in _slotsVector) {
    var d:Number = 0;
 
	// Смещение вниз У
	ty = slotItem.height - _clipRect.height;
	d += .2;
 
        // в каждом барабане сохраняем анимацию
	slotItem.tween = new TweenMax(slotItem, .05, {
			y:ty, 
			repeat:-1, 
			delay:d, 
			onStart:onStartFunc, 
			onStartParams:[slotItem], 
			onComplete:onCompleteFunc, 
			onCompleteParams:[slotItem], 
			yoyo:true, 
			ease:Elastic.easeInOut } 
		);
}
Остановка анимации каждого барабана:
Код AS3:
public function stop():void {
	var slotItem:SlotItem;
	var d:Number = 20;
 
	// Уменьшаем постепенно анимацию в каждом барабане
	for each (slotItem in _slotsVector) {
		slotItem.tween.repeat = d;
		d += 10;
	}
}