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
阅读全文
0 0