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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
По умолчанию Как лучше организовать анимированный флип картинки?

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

Данные по картам хранятся в массиве cardsArray, но в коде ниже я пока их не использую, заменив для теста.
Пробовал с Твиннером, но картинка получается после переворота в зеркальном отражении:

Код AS3:
elementCount = this.numElements;
for (var i:uint = 0; i<cardsArray.length; i++){
	var delayC:uint = 0.15;
	card = new Image();
	card.source = 'images/cards/' + String(Number(i + 1)) + '.jpg';
	card.x = i*100+30;
	card.y = 200;
	card.width = 123;
	card.height = 192;
	card.filters = [new DropShadowFilter(1, 45, 0x000000, 0.8, 8, 8, 1)];
	this.addElementAt(card, elementCount+i);
 
	this.getElementAt(elementCount - cardsArray.length + i).visible = true;
	TweenLite.to(this.getElementAt(elementCount - cardsArray.length + i),0.5,{scaleX:-1, overwrite:false});
	TweenLite.to(this.getElementAt(elementCount - cardsArray.length + i),0,{alpha:0,delay:delayC, overwrite:false});
	TweenLite.to(card,0.5,{scaleX:-1, overwrite:false, onComplete:hidden(this.getElementAt(elementCount - cardsArray.length + i))});
	TweenLite.to(card,0,{alpha:1,delay:delayC, overwrite:false});
	card.addEventListener(MouseEvent.CLICK, cardClick);
	delaeC += i/2;
				}
Можно ещё раз scaleX сделать по окончании, но может быть есть более изящный вариант?