GKAgentDelegate
实现这个协议,同步更新代理在视图上的状态变化。
概括
一个GKAgent对象通过约束和目标模拟移动,使用此协议来管理与代理相关的外部对象,例如在您的游戏中提供代理的视觉表示的精灵或3D对象。
您可以在一个或两个方向与代理同步:
• 要根据代理模拟的最新数据更新可视化表现,请执行agentDidUpdate: 方法。 在这种方法中,你可以读取代理的位置和旋转属性(作为GKAgent2D或GKAgent3D对象),并设置任何对象提供代理视觉表示的对应属性。
• 要使用来自外部源的数据更新代理模拟 - 例如,如果与代理相对应的游戏对象也受到诸如SpriteKit和SceneKit中使用的物理引擎的影响 - 实现agentWillUpdate:方法。 在此方法中,你可以设置代理的位置和旋转属性(作为GKAgent2D或GKAgent3D对象),以便下一个模拟步骤将考虑对这些属性的更改。
Tip
如果你使用GKSKNodeComponent类来管理实体和SpriteKit节点之间的关系,请将你的GKSKNodeComponent实例设置为该实体代理的委托,并且GameplayKit将自动同步该代理及其SpriteKit表示。
Topics
同步代理(Synchronizing with Agents)
- agent Will Update:
告诉delegate代理即将执行下一个模拟步骤。
- agentDidUpdate:
告诉delegate一个代理刚刚执行了一个模拟步骤。
关系
继承
NSObject
默认遵守
GKSCNNodeComponent, GKSKNodeComponent