我想创建一个动画,其中球将在圆的 4 个扇区之一中随机移动。这将发生 5 次。所以,我创建一个 while 循环(i<5)并调用随机函数。然后创建一个如果循环并根据随机 fn 值附加一些 x 和 y 值。然后在 while 循环和关键帧值中创建一个时间线对象,我使用这些 x 和 y 值。但是当我运行程序时,会发生什么是正在创建所有值(通过 println 看到的 x 和 y 值),但只有最后一个 x 和 y 值(对于 i=5)在屏幕上呈现。先前值的动画(1<=i< =4)没有被渲染。请告知我哪里出错了?
公共功能运行(参数:字符串[]){
变量 i=0; while(i<5) { var z=gety(); 打印(z);// var relativeTime:Duration=0s; 如果(z==1){xbind=120; ybind=80;} 否则 if(z==2) {xbind=120; ybind=120;} 否则 if(z==3) { xbind=80; ybind=120;} 否则 if(z==4) { xbind=80; ybind=80;}
var t:时间线=时间线{
//time: bind pos with inverse;
repeatCount: Timeline.INDEFINITE
autoReverse: true
keyFrames:
[
KeyFrame{
time: 0s values: [ x => 100.0,y => 100.0]},
KeyFrame{time: 2s values:[x => xbind tween Interpolator.LINEAR,
y => ybind tween Interpolator.LINEAR,]
},
]
}//end timeline
i++;
t.play();
Thread.sleep(2000);
}//end while
}