c# – BoxCollider2D bounds.Contain(somePoint)工作不正常

我对BoxCollider2D有点问题.当我这样做:

bool someBool = someBounds.Contains(somePoint);

当身体没有如图1所示的旋转时,我得到了预期的结果.(红色区域是somePoint使someBool成立的地方)
当身体旋转时,somePoint会在红色区域内的任何地方都生成一些真实的图片(图片2).我不想要这种行为.我希望点在绿色区域内返回true(图3).

《c# – BoxCollider2D bounds.Contain(somePoint)工作不正常》

最佳答案 要实现目标,请使用BoxCollider2D.OverlapPoint,如下所示:

bool overlaps = myBoxCollider2D.OverlapPoint (somePoint);

BoxCollider2D的边界假设对象是AABB – “轴对齐的边界框”,意味着它没有旋转并且像图1中那样对齐.所以,实际上你的图片1和2证明了这一点.

来源:如果您转到BoxCollider2D文档,请单击Bounds,然后单击Bounds类,您将看到边界引用的详细信息.

点赞