GKGoal

来源:互联网 发布:美工培训班学费多少钱 编辑:程序博客网 时间:2024/06/08 15:13

GKGoal

激发一个或多个代理运动的影响。

概括

目标会刺激代理(GKAgent对象)去进行向一个目标前进,跟随路径或与其他代理保持对齐的动作行为。给一个代理一个或多个目标,将这些目标结合到GKBehavior对象中(其中包括每个目标的对代理相对影响的权重),并将该对象分配给代理的behavior属性。

每次调用代理的updateWithDeltaTime: 方法,代理会评估其在behavior属性中每一个目标来进行方向和速度的改变以进行移动来完成目标(在时间差值和代理的最大速度和转弯速率限制之内)。然后,它将所有目标的效果与其行为结合起来,使用行为中的权重来调节每个目标的影响,从而产生其方向和速度的总体变化。

Topics

为一般的移动行为创建目标(Creating Goals for General Movement Behavior)

+ goalToSeekAgent:

创建一个目标,其效果是将代理移动到指定的其他代理的当前位置。

+ goalToFleeAgent:

创建一个目标,其效果是将代理从指定的其他代理的当前位置移开。

+ goalToReachTargetSpeed:

创建一个目标,其效果是加速或减速代理,直到达到指定的速度。

+ goalToWander:

创造一个目标,其效果是使代理随意漫步,向前移动并随机转动。

创建避免和拦截行为的目标(Creating Goals for Avoidance and Interception Behavior)

+ goalToAvoidAgents:maxPredictionTime:

创建一个目标,其效果是使代理避免与指定的其他代理相冲突,同时考虑到其他代理的动作。

+ goalToAvoidObstacles:maxPredictionTime:

创建一个目标,其效果是使代理避免与指定的静态障碍物相冲突。

+ goalToInterceptAgent:maxPredictionTime:

创建一个目标,其效果是使代理追踪指定的其他代理,同时考虑目标的运动。

创建集群行为的目标(Creating Goals for Flocking Behavior)

+ goalToSeparateFromAgents:maxDistance:maxAngle:

创建一个目标,其效果是使代理与指定组中的其他代理保持指定的距离。

+ goalToAlignWithAgents:maxDistance:maxAngle:

创建一个目标,其效果是使代理将其方向与指定组中的其他代理对齐。

+ goalToCohereWithAgents:maxDistance:maxAngle:

创建一个目标,其效果是使代理在指定组中的其他代理附近停留。

创建寻路行为的目标(Creating Goals for Path-Following Behavior)

+ goalToStayOnPath:maxPredictionTime:

创建一个目标,其效果是保留代理在指定路径中的位置。

+ goalToFollowPath:maxPredictionTime:forward:

创建一个目标,其效果是保留位置并遍历指定的路径。

关系

继承

NSObject

默认遵守

NSCopying