XNA中的Hitbox检测

时间:2012-12-07 12:04:13

标签: c# xna

我在检查我的角色是否在我的XNA游戏中被击中时遇到问题。我有一个包含一个hitbox的角色类,但我怎么能检查其他角色是否被击中?

有没有办法像这样做:

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

感谢您的帮助

1 个答案:

答案 0 :(得分:-1)

据我所知,“hit”是指hitbox1与hitbox2的非空交集。 我建议如下(对于2d hitboxes)

在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
}

这就是我的方式。