subgoals是Yuka.js库中的一个模块,它提供了分解目标和附带条件的方法。它可以帮助实现目标的分解,使得我们可以更加方便地实现复杂的目标。
创建一个subgoal。
new SubGoal(target: Goal, conditions: Array<Condition>);
target
:目标,可以是一个直接目标或者复合目标。conditions
:附带条件,可以是一个或多个条件。import { SubGoal } from 'yuka';
const subgoal = new SubGoal( targetGoal, [ condition1, condition2 ] );
该subgoal的目标。
target: Goal;
const target = subgoal.target;
该subgoal的附带条件。
conditions: Array<Condition>;
const conditions = subgoal.conditions;
创建一个subgoal solver。
new SubGoalSolver(agent: Agent);
agent
:代理。import { SubGoalSolver } from 'yuka';
const subgoalSolver = new SubGoalSolver( agent );
启动subgoal solver。
start( subgoal: SubGoal );
subgoal
:要执行的subgoal。subgoalSolver.start( subgoal );
subgoals模块提供了SubGoal和SubGoalSolver两个类。借助SubGoal类,我们可以方便的构建一个subgoal实例,而SubGoalSolver则为我们提供了启动和管理subgoal的功能。通过这两个类的协作,可以快速实现目标的分解和执行,从而完成更加复杂的任务。