私はSpriteKitとGameplayKitを使って小さなプロジェクトを進めています。エンティティ/コンポーネントシステムを使用したのは初めてのことです。私はそれを愛しています。しかし、今、私は自分のエンティティの状態(Spawning、Normal、Remove)を追跡する必要があるので、スポーンフェーズで相互作用しないようにしています(アニメーションを行うアクションを含む場合と含まない場合があります)。それらの除去段階。GKEntityと状態マシン
これまでは、さまざまな状態でGKStateMachineをインスタンス化するEntityStateComponentを作成しました。フレームごとに更新する必要はないため、複雑ではありません。問題は、この状態はコンポーネント関連のものよりも多くのエンティティ関連であり、GKEntityからサブクラス化し、コンポーネントの代わりにステートマシンを追加することが理にかなっているのだろうかと思います。
あなたの考えは?
PS:私はちょうど(コンビニエンスINITを持つようにGKEntityからすでにサブクラス化だ)あなたは右であるすべての成分
ありがとうございました!私はGKEntityのサブクラスに何かを追加することを控えていました。それはそれが "教科書"のやり方だからです。しかし、オプションの連鎖と強制的なアンラッピングをいつも使っていなければならないことは間違いでした。そして、エンティティに関連する何かのためにコンポーネント内でフレームごとの更新を行うことは、とにかく不可能です。 – BadgerBadger
この[記事](https://www.gamedev.net/resources/_/technical/game-programming/implementing-component-entity-systems-r3382)は、あなたが避難所であるならば、読む価値のある「ECS」を理解するのを助けましたそれを見たことはありません。 –
ありがとう!非常に有益! – BadgerBadger