我有一架直升机在this site屏幕上平移,目前从左到右。但是30秒后,我希望它改变方向。然后30秒后再次改变方向。真正的循环


左>右
右>左


在一个循环中。

我正在使用jQuery Spritely为直升机设置动画。

我当前的jQuery设置如下:

$(document).ready(function()
{
/* Initial Helicopter Movement */
 $('#helicopter').pan({fps: 30, speed: 1.5, depth: 10, dir: 'right'});
 $('#helicopter').spState(1);

 setInterval(function() {
   $("#helicopter").spStop();
   $('#helicopter').pan({fps: 30, speed: 1.5, dir: 'left'});
   $('#helicopter').spState(2);
   $("#helicopter").spStart();
 }, 5000 );
};


我将如何实现自己的循环?

提前致谢。

最佳答案

将setInterval函数内的代码块更改为此:

setInterval(function() {
    if (props.dir == 'left') {
    props.dir = 'right';
    $("#helicopter").spState(1).spChangeDir('right');
}
    else {
        props.dir = 'left';
    $("#helicopter").spState(2).spChangeDir('left');
    }
}, 5000 );


在这里,您只需要每5秒检查一次props.dir值并交替改变方向即可。 Spritely JS具有内置的spChangeDir()方法,不需要在每个间隔后设置和重置属性。

10-04 17:09