evader
是Yuka js库中的一个追逐行为(Pursuit Behavior),用于在对手靠近时逃避对手。
evader
作为一个追逐行为,可用于控制实体的移动。通过指定一个target
(目标实体)和一个pursuer
(对手实体)参数,evader
将自动计算出从目标实体逃脱所需的位移,以此来移动当前实体。
import { Evader } from 'yuka';
const evader = new Evader( target, pursuer );
// 在update中调用行为
function update(){
evader.calculate( entity, timeDelta );
// 实体将被移动
}
target
: {Entity} 目标实体pursuer
: {Entity} 对手实体maxPredictionTime
: {Number} 最大预测时间,用于指定实体能够“预测”对手的运动,从而更好地逃避追击。其默认值为0.5秒。fleeDistance
: {Number} 逃避距离,用于控制实体逃避对手的距离。其默认值为10个单位的距离。fleeFactor
: {Number} 逃避系数,用于控制实体逃避速度的快慢。其默认值为1。import { Evader } from 'yuka';
const evader = new Evader( target, pursuer );
evader.maxPredictionTime = 1;
evader.fleeDistance = 20;
function update(){
evader.calculate( entity, timeDelta );
// 实体将被移动
}
建议为实体设置一个合适的逃避范围,不要将其设置得太小或太大,否则可能会影响其运动效果。同时,可以根据需求调整maxPredictionTime
和fleeFactor
属性,以获得更好的运动效果。