gpt4 book ai didi

ios - 将 SKNode 链接到 GKAgent2D?

转载 作者:行者123 更新时间:2023-11-29 01:11:08 24 4
gpt4 key购买 nike

我是 GameplayKit 的新手,因为大多数都有它的生命周期,并且一直在尝试弄清楚以下内容..

我有一个 SKNode *enemy,它已经从 Action 到样式、习惯等方面进行了大量工作和定制,所有这些都来自 SpriteKit。我的问题是这样的:

  • 如何将我的敌人节点“链接”到 GKAgent2D 以便它控制该节点的移动?

我知道您必须创建一个 GKComponent 并用一个 Sprite 节点来表示这个组件,也许还有一个特定的纹理选择。但我想知道是否有办法使用 GameplayKit 在现有节点上提供的内置“控制移动”方法。如果答案是“否”,请直说并解释为什么?我感谢任何帮助。谢谢!

最佳答案

你的敌人是 GKEntity 吗?如果不是,我相信您无法向其中添加 GKComponent。

如果你的敌人是 GKEntity,那么你只需添加一个 GKComponent 作为代理即可。否则,您将必须更改敌人类别以使其成为 GKEntity。

苹果在 DemoBots 中的做法是创建一个类

class AgentComponent: GKAgent2D { }

(GKagent 是 GKComponent 的子类,因此就像添加一个组件)

比在实体中,他们需要代理,他们这样做

class Enemy: GKEntity ...

let agentComponent = AgentComponent()
agentComponent.delegate = self
agentComponent.radius = Float(texture.size().width * 0.3)
addComponent(agentComponent)

然后设置代表

agentDidUpdate

angentWillUpdate

这些是一些关于此的很好的教程

http://www.raywenderlich.com/119959/gameplaykit-tutorial-entity-component-system-agents-goals-behaviors

http://code.tutsplus.com/tutorials/an-introduction-to-gameplaykit-part-1--cms-24483

关于ios - 将 SKNode 链接到 GKAgent2D?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35737536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com