Вы можете использовать функцию b2World :: QueryAABB, чтобы получить список приборов в данной области, а затем проверить их для лучшего варианта. Тестовый стенд Box2D делает это, чтобы выяснить, какой прибор нужно захватить мышью, чтобы вы могли проверить этот исходный код. Смотрите также: http://www.iforce2d.net/b2dtut/world-querying
Для перемещения тела вы действительно можете использовать SetTransform, что было бы хорошо, если объекту не нужно взаимодействовать с чем-либо по пути. Другим вариантом может быть SetLinearVelocity со скоростью, которая будет перемещать тело в точку перетаскивания в один шаг времени. Это лучший метод, если вы хотите, чтобы объект постоянно сталкивался с предметами во время движения, потому что он не телепортирует тело мгновенно в положение пальца. Если тело представляет собой тело пули, то оно также не позволяет пользователю перетаскивать предметы через другие объекты, например статическую стену. Не забудьте установить скорость на ноль, когда палец поднят:)