-3

XNA ゲームで自分のキャラクターがヒットしたかどうかを確認するのに問題があります。ヒットボックスを含むキャラクタークラスがありますが、他のキャラクターがヒットするかどうかをチェックするにはどうすればよいですか?

このようにする方法はありますか:

if(this.hitbox.Y = [any other character using this class].attackbox.Y)

ご協力いただきありがとうございます

4

1 に答える 1

-1

私が理解しているように、「ヒット」は、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
}

これが私のやり方です。

于 2012-12-07T12:48:50.267 に答える