利用代理、目标和行为打造智能游戏怪物
在游戏开发中,为了让怪物具有一定的自主性,我们可以结合代理(Agents)、目标(Goals)和行为(Behaviors)来实现。代理就像是实体背后的“大脑”,而目标和行为则是驱动其决策的力量。
1. 创建组件系统
在 GameScene.swift 文件中,在 graphs 属性下方添加一个新属性:
let agentComponentSystem = GKComponentSystem(componentClass: GKAgent2D.self)
此代码创建了一个新的 agentComponentSystem 属性,用于管理 GKAgent2D 组件。
接着,要确保该系统参与更新循环。在 GameScene 类的 update(_:) 方法中,更新实体的 for-in 循环下方添加以下代码:
// Update the component systems
agentComponentSystem.update(deltaTime: dt)
2. 委托代理的职责
代理有两个主要职责:一是更新代理的位置以匹配所连接节点的位置;二是更新节点的位置以匹配代理的位置,从而使两者保持同步
超级会员免费看
订阅专栏 解锁全文
253

被折叠的 条评论
为什么被折叠?



