У всех в моем игровом мире есть приборы с прикрепленными сенсорными формами. Когда я выполняю радиопередачу, он попадает на эти приборы, но я хочу поражать только приборы, имеющие хотя бы одну форму, которая не является датчиком. Возможно ли это?
Я использую Box2dx - порт C #.
Кроме того, что делает обратный вызов?
world.PhysicsWorld.RayCast((f, p, n, fr) =>
{
fixture = f;
position = p;
return fr;
}, point1, point2);
Это функция raycast, которую я вызываю. В документации сказано, что обратный вызов может использоваться для указания количества фигур, которые нужно вернуть, но я не уверен, как это сделать:
/// Ray-cast the world for all fixtures in the path of the ray. Your callback
/// controls whether you get the closest point, any point, or n-points.
/// The ray-cast ignores shapes that contain the starting point.
/// @param callback a user implemented callback class.
/// @param point1 the ray starting point
/// @param point2 the ray ending point
public void RayCast(Func<Fixture, Vector2, Vector2, float, float> callback, Vector2 point1, Vector2 point2)
{
RayCastInput input = new RayCastInput();
input.maxFraction = 1.0f;
input.p1 = point1;
input.p2 = point2;
_rayCastCallback = callback;
_contactManager._broadPhase.RayCast(_rayCastCallbackWrapper, ref input);
_rayCastCallback = null;
}