エンティティ・コンポーネント・システム

Overlap2Dしてて、Entityとか、getEnginとか、Componentとかなんかよくわからない感じだったので、色々調べていたら、エンティティ・コンポーネント・システムという概念に行き当たりました。正確にはOverlap2Dも含めてAshleyというフレームワークが関わっていそうです。

下記が分かりやすかったり参考になったりしています。

https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%83%86%E3%82%A3%E3%83%BB%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0

http://qiita.com/tshinsay/items/739ad875cc3925d51f12

http://www18.atwiki.jp/nagurigaki/pages/19.html

オブジェクト指向とはちょっと感じの違う思想ですね。どうりでやっててよくわからないわけだ。

とりあえずEntityというのがオブジェクト指向で言うオブジェクトみたいなもので、Entityは必要な機能やデータ(Component)を寄せ集めて作成するという認識で良さそうです。使うデータや機能のみ実装できるというメリットが有るようです。

https://github.com/libgdx/ashley/wiki/How-to-use-Ashley

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です