funyak
PlateCollider用の属性実装。
MainMapObjectは何かと複雑だ。
PlateCollider用の属性実装。
MainMapObjectは何かと複雑だ。
当たったときの反応はMapObjectごとよりColliderごとのほうがいいだろうということで、Collider側にListenerを設置。
PlateCollider(板)にも属性があったほうがいいだろうということで、CollidableSegmentの置き換えを目指して実装中だけど、ちょっと微妙な感じ。
とりあえず、最初に共通当たり判定を適用するのは、代表的な板であるLineMapObjectと、全ての中心であるMainMapObjectにしようと思います。
パフォーマンス関係でどんな処理にするのが速いかいろいろ計測。
やっぱ6-FPS出したいですしね。
構造体に関しては、ベンチマークプログラムをGitHubに公開しておきました。
StructBench
MapObjectの削除を実装。
削除した結果を見た目に反映はしないし、削除機能が発動する機会も今のところないけど。
判定図形の登録・解除はMapObjectが行う。
そのために、Mapは登録・解除が想定されるタイミングでMapObjectに対してCollisionManagerを渡す。
そういえば判定図形の解除の前提となるMapObjectの削除を実装していなかった。
これはゲームとして成り立たせる場合必須の機能だ。
共通当たり判定をとりあえず作ったはいいが判定図形の登録を考えていなかった。
共通当たり判定は一度シンプル(だけど非効率的)な方法で実装してみよう。
効率化はそのあとだ。