-3

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

有没有办法这样做:

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

谢谢你的帮助

4

1 回答 1

-1

据我了解,“命中”是当 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
}

这是我会做的方式。

于 2012-12-07T12:48:50.267 回答