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

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
По умолчанию Как правильно анимированить?

День добрый, есть задача, нужно программно анимировать элемент что бы он двигался к какой то точке, а после этого двигался обратно. Казалось бы все просто, но задача усложняется тем что таких елементов много, вот пример действий:
Код AS1/AS2:
var endTween:Boolean = false;
 
 
mc.onRollOver = sectionOver;                                 // при наведении на пункт раздела запускаем анимацию...
 
function sectionOver():Void
{
	endTween = false;
 
	var ArrowX:Tween = new Tween(this.smallArrow, "_x", None.easeOut, this.smallArrow._x, this.smallArrow.targetX, TIME_A / 2, true);
		ArrowX.onMotionFinished = function()
		{
			if(!endTween)
			{
				ArrowX.yoyo();
			} else {
				ArrowX.stop();
			}
		}
этот вариант хорош когда элемент один, а когда их много то возникают проблемы с флагами, нужно для каждого делать по своему флагу, чтот весьма геморно. Хорошо было бы сделать обьекту св-во и в него записывать нужное состояние, но из твина до обьекта не достучишься. Так что я несколько зашел в тупик.
-------------------------------
Собсна эта логика анимации нормальная? или лучше использовать что то другое, в голову приходит по тому же событию onMotionFinished запускать еще несколько твинов играющих в обратном направлении или пользоватьс setTimeout, имхо послдених 2 варианта более корявые в исполнении. Кто что может посоветовать?
Вот пример:
Вложения
Тип файла: rar progMenu.rar (6.8 Кб, 33 просмотров)