День добрый, есть задача, нужно программно анимировать элемент что бы он двигался к какой то точке, а после этого двигался обратно. Казалось бы все просто, но задача усложняется тем что таких елементов много, вот пример действий:

Код 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 варианта более корявые в исполнении. Кто что может посоветовать?
Вот пример: