if(sprite.status == 'moveBack')
{
var pointX:Number = mouseX + Math.cos(sprite.angle) * 100;
var pointY:Number = mouseY + Math.sin(sprite.angle) * 100;
dx = pointX - sprite.x
dy = pointY - sprite.y;
var angle:Number = Math.atan2(dy, dx);
var dist:Number = Math.sqrt(dx * dx + dy * dy);
if(dist < 1)
{
sprite.status = 'free';
}
else
{
sprite.x += Math.cos(angle) * 15;
sprite.y += Math.sin(angle) * 15;
}
trace(dist);
}
sprite.angle += 0.05;
这是一小段代码,所以这里的一个精灵对象正在回到它们之前的位置,指向他来的地方,每次都在移动,问题是:假设我的速度是 15 像素/每帧,我的电影剪辑接近他即将到来的终点,剩余距离为 20,那么如果我的速度为 15,则 20 -15 = 5,然后 5 - 15 = -5,但我使用的是毕达哥公式并且距离总是正的,所以精灵不能达到0距离然后自由,在这种情况下我能做什么?