1709/090
AS3-SteeredVehicle.followPath()路径跟随行为分析
Demo:
PS:请点击鼠标左键建立路径点。
路径跟随其实挺简单的,如图:

只要让机车从第一个航点开始逐个seek下一个航点就可以了。
代码如下:
//路径跟随行为
private var _pathIndex: int = 0;
private var _pathThreshold: Number = 20;
public function followPath (path: Array, loop: Boolean = false):void {
var wayPoint:Vector2D=path[_pathIndex];
if (wayPoint==null) {
return;
}
if (_position.dist(wayPoint)<_paththreshold ) {
if (_pathIndex>=path.length-1) {
if (loop) {
_pathIndex=0;
}
} else {
_pathIndex++;
}
}
if (_pathIndex>=path.length-1&&! loop) {
arrive (wayPoint);
} else {
seek (wayPoint);
}
}
loop判断是否需要循环,pathThreshold是减速区域咯,具体实现逻辑按照图示按部就班就可以了。