मुझे पता है कि यह सवाल पुराना है, लेकिन मुझे ऐसा लगता है कि इसका सरल, कोड आधारित उत्तर याद आ रहा है। तो यहाँ यह है:
/// <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;
}
ध्यान दें कि यह सादा Box2D नहीं है, लेकिन Farseer (और C # में), लेकिन इसमें ठीक उसी एपीआई होना चाहिए।