
Код AS3:
var myStar1:MyStar;//MyStar - название класса символа
myStar1=new MyStar();
myStar1.x=50;
myStar1.y=50;
addChild(myStar1);
var simbol1:Simbol1;//Simbol1 - название класса символа
simbol1=new Simbol1();
simbol1.x=50;
simbol1.y=50;
addChild(simbol1);
import com.greensock.*;
import com.greensock.easing.*;
/*for(var c:int=1;i<=19;i++){
ani(myStar1, [{x:x1,y:y1},{x:x2,y:y2}], 1)
}*/
//конец предыдущего положения и начало следущего положения - одни и те же y, x
var coordinates:Dictionary = new Dictionary();
function ani(object:DisplayObject, coords:Array, speedt:int = 1):void
{
if (coords)
{
if (!coordinates[object])
{
coordinates[object] = coords;
}
else
{
coordinates[object] = coordinates[object].concat(coords);
return;
}
}
if (coordinates[object])
{
var nextCoords:Object = coordinates[object].shift();
nextCoords.onComplete = ani;
nextCoords.onCompleteParams = [object, null, speedt];
if (!coordinates[object].length) delete coordinates[object];
TweenLite.to(object, speedt, nextCoords);
}
}
ani(myStar1, [{scaleX:1,scaleY:1,rotation:0,x:50,y:50},{ease:Elastic.easeIn,rotation:0,scaleX:1,scaleY:1,x:30,y:60}], 1); // первое положение
ani(myStar1, [{x:30,y:60},{rotation:0,x:110,y:175}],2); //второе положение
ani(myStar1, [{x:110,y:175},{x:140,y:135}],100); // третье положение
ani(simbol1, [{ease:Elastic.easeIn,x:50,y:1},{ease:Elastic.easeIn,x:120,y:70}], 1); // первое положение
ani(simbol1, [{ease:Elastic.easeIn,x:120,y:70},{ease:Elastic.easeIn,x:160,y:135}],2); //второе положение
ani(simbol1,[{ease:Elastic.easeIn,x:160,y:135},{ease:Elastic.easeIn,x:240,y:235}],1); // третье положение
Но объекты двигаются одновременно, а мне нужно по очереди: сначала двигается объект1, затем двигается объект2.Почему они двигаются одновременно, я ведь не создавал 2 потока(2 workers), команды написаны по порядку вот и должны выполнятся по порядку! В чем проблема!?! Помогите пожалуйста!