XNA ゲームで自分のキャラクターがヒットしたかどうかを確認するのに問題があります。ヒットボックスを含むキャラクタークラスがありますが、他のキャラクターがヒットするかどうかをチェックするにはどうすればよいですか?
このようにする方法はありますか:
if(this.hitbox.Y = [any other character using this class].attackbox.Y)
ご協力いただきありがとうございます
私が理解しているように、「ヒット」は、hitbox1 が hitbox2 と空でない交差を持っている場合です。以下のようなものをお勧めします(2Dヒットボックスの場合)
XNAフレームワークにはそれのためのメソッドがあります:Rectangle.Intersects()
ので、それを使用してください。
手動で行う方法は、次のようになります: たとえば、hitbox が [(x1,y1),(x2,y2)] の座標を持つ四角形であるとすると、以下のような代替ケースがいくつか得られます。
if(h1.x2 >= h2.x1 && h1.y2 >= h2.y1)
{
\\this is one of cases when we got hit
}
これが私のやり方です。