GKAgentDelegate

来源:互联网 发布:java 商场类 项目结构 编辑:程序博客网 时间:2024/06/18 00:04

GKAgentDelegate

实现这个协议,同步更新代理在视图上的状态变化。

概括

一个GKAgent对象通过约束和目标模拟移动,使用此协议来管理与代理相关的外部对象,例如在您的游戏中提供代理的视觉表示的精灵或3D对象。

您可以在一个或两个方向与代理同步:

要根据代理模拟的最新数据更新可视化表现,请执行agentDidUpdate: 方法。在这种方法中,你可以读取代理的位置和旋转属性(作为GKAgent2D或GKAgent3D对象),并设置任何对象提供代理视觉表示的对应属性。

要使用来自外部源的数据更新代理模拟 - 例如,如果与代理相对应的游戏对象也受到诸如SpriteKit和SceneKit中使用的物理引擎的影响 - 实现agentWillUpdate:方法。在此方法中,你可以设置代理的位置和旋转属性(作为GKAgent2D或GKAgent3D对象),以便下一个模拟步骤将考虑对这些属性的更改。

Tip

如果你使用GKSKNodeComponent类来管理实体和SpriteKit节点之间的关系,请将你的GKSKNodeComponent实例设置为该实体代理的委托,并且GameplayKit将自动同步该代理及其SpriteKit表示。

Topics

同步代理(Synchronizing with Agents)

- agentWillUpdate:

告诉delegate代理即将执行下一个模拟步骤。

- agentDidUpdate:

告诉delegate一个代理刚刚执行了一个模拟步骤。

关系

继承

NSObject

默认遵守

GKSCNNodeComponent, GKSKNodeComponent