active
是 Yuka js 库中的行为类之一,在游戏开发领域中常用于追逐目标对象。当目标对象在追逐者的视野内时,active
行为会使追逐者朝向目标对象并加速移动,直到追上目标对象。
使用 active
行为需要将其添加到具有运动能力的实体身上,并将目标对象设置为 target
属性。目标对象可以是另一个实体、一个坐标点或一个函数,返回一个坐标点。此外,还需要设置 pursueDistance
属性,该属性表示追逐者将停止追击并返回其初始状态的距离。
import { PursuitBehavior } from 'yuka';
class Agent {
constructor() {
this.steering = new PursuitBehavior();
this.steering.target = someEntity; // 或者 someVector2
this.steering.pursueDistance = 10;
}
update( delta ) {
this.steering.active = true;
this.steering.calculate( this );
this.velocity.add( this.steering.steeringForce );
// 其它运动相关逻辑...
}
}
active
:Boolean
标识当前行为是否处于激活状态。
target
:Entity、Vector2或Function
指定目标对象,可以是另一个实体、一个坐标点或一个返回坐标点的函数。
pursueDistance
:Number
指定追逐距离,如果追逐者与目标的距离小于该值,追逐者将停止追击并返回其初始状态。
calculate( agent: Agent )
计算操纵向量,并将其作为 steeringForce
属性返回。
您可以使用以下链接中的在线示例来进一步理解 active
行为的使用。
https://yangsihan.github.io/yuka-chasing-example/
更多关于 active
行为的详细信息可以在以下链接中找到:
https://github.com/Mugen87/yuka/blob/master/docs/behavior/PursuitBehavior.md#active