Bu sorunun eski olduğunu biliyorum ama basit, kod tabanlı bir cevap eksik gibi hissediyorum. İşte burada:
/// <summary>
/// Return if a given position is inside the physical body.
/// </summary>
/// <param name="body">Body to test.</param>
/// <param name="position">Position to check if inside the body.</param>
/// <returns>If given point is inside the physical body.</returns>
public bool TestPointCollision(FarseerPhysics.Dynamics.Body body, Vector2 position)
{
// get body transformation
FarseerPhysics.Common.Transform trans;
body.GetTransform(out trans);
// iterate fixtures to see if any of them hit the point
foreach (var fix in body.FixtureList)
{
if (fix.Shape.TestPoint(ref trans, ref position))
return true;
}
// if there are no hits, return false
return false;
}
Bunun düz Box2D değil Farseer (ve C # içinde) olduğunu, ancak tam olarak aynı API'ya sahip olması gerektiğini unutmayın.