我对BoxCollider2D有点问题.当我这样做:
bool someBool = someBounds.Contains(somePoint);
当身体没有如图1所示的旋转时,我得到了预期的结果.(红色区域是somePoint使someBool成立的地方)
当身体旋转时,somePoint会在红色区域内的任何地方都生成一些真实的图片(图片2).我不想要这种行为.我希望点在绿色区域内返回true(图3).
最佳答案 要实现目标,请使用BoxCollider2D.OverlapPoint,如下所示:
bool overlaps = myBoxCollider2D.OverlapPoint (somePoint);
BoxCollider2D的边界假设对象是AABB – “轴对齐的边界框”,意味着它没有旋转并且像图1中那样对齐.所以,实际上你的图片1和2证明了这一点.
来源:如果您转到BoxCollider2D文档,请单击Bounds,然后单击Bounds类,您将看到边界引用的详细信息.