Здравствуйте.
Как динамически добавлять координатыв твин?
То есть я вот разработал функцию

Код AS3:
private function OnClick(e:MouseEvent):void
{
var isit:Boolean=false;
var object:Object = e.target as Object;
for (var i:Number = 0; i < buttonlist.length; i++)
{
if (object.name == buttonlist[i].Label)
{
if (buttonlist[i].Action.ObjType == "Camera3D")
{
for (var z:Number = 0; z < CamArray.length; z++)
{
if (buttonlist[z].Action.ObjName == CamArray[z].name)
{
if (buttonlist[z].Action.IsMove)
{
CamArray[z].x += buttonlist[i].Action.MoveCoord.x;
CamArray[z].y += buttonlist[i].Action.MoveCoord.y;
CamArray[z].z += buttonlist[i].Action.MoveCoord.z;
isit = true;
}
if (buttonlist[z].Action.IsRotation)
{
CamArray[z].rotationX += buttonlist[i].Action.MoveCoord.AngleX;
CamArray[z].rotationY += buttonlist[i].Action.MoveCoord.AngleY;
CamArray[z].rotationZ += buttonlist[i].Action.MoveCoord.AngleZ;
isit = true;
}
}
if (isit)
{
return
}
}
}
else
{
if (buttonlist[i].Action.ObjType == "Object3D")
{
trace(buttonlist[i].Action.ObjType);
for (var q:Number = 0; q < ContArray.length; q++)
{
trace(ContArray.length);
trace(buttonlist[q].Action.ObjName);
trace(buttonlist[i].Action.ObjName);
trace(ContArray[q].name);
if (buttonlist[i].Action.ObjName == ContArray[q].name)
{
trace(buttonlist[q].Action.ObjName);
trace(ContArray[q].name);
if (buttonlist[i].Action.IsMove)
{
trace(buttonlist[i].Action.MoveCoord);
ContArray[q].x += buttonlist[i].Action.MoveCoord.x;
ContArray[q].y += buttonlist[i].Action.MoveCoord.y;
ContArray[q].z += buttonlist[i].Action.MoveCoord.z;
isit = true;
}
if (buttonlist[i].Action.IsRotation)
{
ContArray[q].rotationX += buttonlist[i].Action.AngleX;
ContArray[q].rotationY += buttonlist[i].Action.AngleY;
ContArray[q].rotationZ += buttonlist[i].Action.AngleZ;
isit = true;
}
}
if (isit)
{
return
}
}
}
}
}
}
}
Теперь вместо нужно вместо

Код AS3:
CamArray[z].x += buttonlist[i].Action.MoveCoord.x;
CamArray[z].y += buttonlist[i].Action.MoveCoord.y;
;
Нужно вставить твин что-бы плавно происходило движение.А в твин как я понял нужно конечное значение координаты перемещения (то есть то,куда попадёт объект),а у меня в action.MoveCoord хранится смещение(то есть то насколько объект должен сместиться при клике).

Код AS3:
var End:vector3D=new Vector3D(CamArray[z].x += buttonlist[i].Action.MoveCoord.x,CamArray[z].y += buttonlist[i].Action.MoveCoord.y,
CamArray[z].z += buttonlist[i].Action.MoveCoord.z);
to=new TweenLite(CamArray[z],3,{End.x,End.z}); // Такое не работает,но нужно что-то подобное
Ещё нужно добавить функцию проверкичто-то типа

Код AS3:
....
if(isTwening()
{
var object:Object=e.target as object;
object.removeeventListner(MouseEvent.ONCLICK,MouseClick);
}
Чтобы нельзя было повторно нажать кнопку пока не выполнится перемещение.
В доках не нашёл то что нужно,по поводу динамических координат.
Завтра буду пробовать OnComplete для Tween, хотя пока не смогу добавить координаты динамически это бесполезно.