我在检查我的角色是否在我的XNA游戏中被击中时遇到问题。我有一个包含一个hitbox的角色类,但我怎么能检查其他角色是否被击中?
有没有办法像这样做:
if(this.hitbox.Y = [any other character using this class].attackbox.Y)
感谢您的帮助
答案 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
}
这就是我的方式。