我有一个应用程序'self-sliding-puzzle',上面有人工智能等。我将用它来制作一些很酷的投资组合画廊。
我有一种方法可以为立方体设置动画:
this.animateSelection = function(direction,time)
{
if (time===undefined) this.time=150;
this.moveDistance=this.cubeSize+this.spacing;
switch (direction)
{
//move right
case 'r': $('#' + selectionName).transition({ x: '+=' +this.moveDistance +'px' },this.time);
break;
//move down
case 'd': $('#' + selectionName).transition({ y: '+=' +this.moveDistance +'px' },this.time);
break;
//move left
case 'l': $('#' + selectionName).transition({ x: '-=' +this.moveDistance +'px' },this.time);
break;
//move up
case 'u': $('#' + selectionName).transition({ y: '-=' +this.moveDistance +'px' },this.time);
break;
//if wrong direction is given
default: return false;
}
return true;
}
当我一次调用它时,一切都很好。
但问题是:
当我做
myClass.animateSelection('d');
alert('bla bla bla');
在动画完成之前显示警报
我的主要 AI 循环在 50 毫秒内执行并管理大约 200 个动作,因此调用方法。我希望该方法一直执行循环,直到动画完成。
回调不成功。动画方法用于许多不同的情况和各种其他方法。它不可能使它适合IMO。