0

ほとんどが寿命を与えられているので、私は初めてでGameplayKit、次のことを理解しようとしています..

私は、SKNode *enemy動きからスタイル、習慣など、すべてSpriteKit. 私の質問は次のとおりです。

  • GKAgent2D敵ノードを に「リンク」して、このノードの動きを制御するにはどうすればよいですか?

GKComponentこのコンポーネントを作成し、おそらく特定のテクスチャを選択したスプライト ノードで表現する必要があることを理解しています。GameplayKitしかし、既存のノードで提供される組み込みの「移動の制御」メソッドを使用する方法があるかどうかを知りたかったのです。答えが「いいえ」の場合は、その理由を説明してください。助けていただければ幸いです。ありがとう!

4

1 に答える 1

1

あなたの敵はGKエンティティですか?そうでない場合は、GKComponent を追加できないと思います。

敵が GKEntity の場合は、GKComponent をエージェントとして追加するだけです。そうしないと、敵のクラスを GKEntity に変更する必要があります。

Apple が 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

于 2016-03-02T12:35:10.850 に答える