Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何做一个停止移动条件_Actionscript 3 - Fatal编程技术网

Actionscript 3 如何做一个停止移动条件

Actionscript 3 如何做一个停止移动条件,actionscript-3,Actionscript 3,我使用正弦和余弦移动一个字符 player.x += Math.cos(angle) * speed; player.y += Math.sin(angle) * speed; 当前停止条件为距离

我使用正弦和余弦移动一个字符

player.x += Math.cos(angle) * speed;
player.y += Math.sin(angle) * speed;
当前停止条件为距离。但如果速度太快,有时角色不会停下来,永远继续。让它停在正确的地方最好的方法是什么


PS:它会随着鼠标的点击而移动。我单击,播放器将直接移动到单击点。

一个快速解决方法是检查当前距离是否比上一个距离(上一个动画帧中的距离)短。这意味着角色正在接近目标。如果它没有接近它(当前距离实际上比前一个距离高),这意味着它已经超过了它,因此它必须停止

在伪代码中:

if distance < n or lastDistance<distance then
    stop;
lastDistance = distance;
如果距离