書き物

技術とか作った物の話とか愚痴文句感想など

マップに対する当たり判定をしたい

これも以前から実装済みだったのですが、

特に汎用的に使えるようにしてはいなかったので、

使いまわせるようにクラスにしたいと思います。


必要な情報は、マップの当たり判定データと、チップサイズぐらいでしょうか。

とりあえずこれだけプロパティとして持たせておいて、

あとは当たり判定を行うメソッドを呼ぶという流れで。


当たり判定を行うメソッドには、必要な情報を与えます。

  • 当たり判定エリアのRectangle
  • 当たり判定を持つオブジェクトの座標

Rectangle自身、x、yを持っていますが、

これは当たり判定を持つオブジェクトを基準にした座標にしなければならないので、

別途当たり判定を持つオブジェクトの座標も必要になりそうです。

今までは当たり判定エリアとして、キャラにShapeを持たせていましたが、

これは今後Rectangleだけ持たせておけばいいかしら。


戻り値として、当たり判定があった(チップとの接地面の)座標を返したいのですが、

当たり判定があるたびにPointを生成して返すのは重そうです。

戻り値は、当たり判定があった場合true、無かった場合falseにしときましょうか。

仕方ないので、当たり判定があった座標を返すために、引数としてPointのインスタンスを渡すようにします。

これに当たり判定があった座標を設定するようにします。


大体こんな感じでやってみます。