evaluators是Yuka js库中的核心部分之一,它们用于计算或评估实体或其组件的状态并告诉其该采取的下一步行动。这些计算通常基于当前的感知情况、目标和行为。
evaluators在Yuka中被定义为JavaScript类,它们包含以下方法:
constructor: 接受一个参数options,该参数是对象字面量,包含与评估器相关的配置。评估器可以是可配置的,具体取决于使用情况。calculateDesirability: 基于给定的情况和目标,计算出该采取某个行动的期望程度。返回一个数字,表示该行动是多么有吸引力。calculatePriority: 根据期望程度和当前情况,计算处理它的优先级。返回一个数字,表示应该优先处理哪个评估器。execute: 执行特定行动的方法。以下是建立评估器的示例代码:
import { Evaluator } from ‘./Evaluator’;
class SampleEvaluator extends Evaluator {
  constructor(options) {
    super(options);
    this.myCustomOption = options.myCustomOption; / / 自定义选项 
    this.myOtherCustomOption = options.myOtherCustomOption;
  }
  
  calculateDesirability() {
    / / 在此处描述期望计算
    return 1.0;
  }
  
  calculatePriority() {
    / / 在此处描述优先级计算
    return this.calculateDesirability() * this.myCustomOption;
  }
  
  execute() {
    / / 在此处描述执行操作
  }
}
以上代码显示了evaluators的基本结构和方法。通过重写这些方法,可根据不同的应用程序场景开发高效且自定义的评估器。