AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

resolveReferences

Yuka.js 中的 CompositeGoal 类中的方法,用于解决目标引用的问题。

方法描述

CompositeGoal.resolveReferences 方法是一个公共方法,用于解决组合目标中可能存在的目标引用问题。该方法通过遍历连接的目标列表,并将引用目标替换为实际目标。

参数

返回值

示例

以下代码演示了如何使用 CompositeGoal.resolveReferences() 方法:

const goal1 = new Goal();
const goal2 = new Goal();
const compositeGoal = new CompositeGoal();
compositeGoal.addSubGoal(goal1);
compositeGoal.addSubGoalReference(goal2);

// ...

compositeGoal.resolveReferences();

在此示例中,我们创建了两个目标,并使用 compositeGoal.addSubGoal() 将其中一个添加到组合目标中,使用 compositeGoal.addSubGoalReference() 将另一个目标作为引用添加到组合目标中。最后,我们调用 compositeGoal.resolveReferences() 方法,该方法将引用目标替换为实际目标。

异常

注意事项

  • CompositeGoal.resolveReferences() 方法仅适用于 CompositeGoal 类型对象。
  • 引用目标必须在组合目标添加到目标列表之前存在,否则将始终引发异常。
  • Yuka.js 不支持循环引用。如果多个目标引用彼此,则将引发异常。 在这种情况下,必须手动打破循环引用。