Переместить мое тело в точку
Я использую коробку 2d. Я просто хочу переместить свое тело в точку. Каков наилучший способ сделать это?
1 ответ
Когда вы говорите, что хотите просто двигать телом, вы имеете в виду, что хотите применить силу, чтобы привести тело в точку?
Есть шарнир, разработанный для движения мыши, и он может хорошо работать в вашем случае, если вы хотите перетаскивать тела на iPhone. Он называется Mouse Joint, и он под 8.10 на этих документах box2d.
Если вы хотите, чтобы тело не реагировало на удары, а толкало его в зависимости от того, где оно находится и куда движется, переходите к b2_kinematicBody
на тех же документах
Надеюсь, поможет. Ваш вопрос очень расплывчатый.
РЕДАКТИРОВАТЬ в ответ на комментарий:
Ну, в общем, способ сделать это будет cpBodyApplyForce
или же cpBodyApplyImpulse
, Есть много способов использовать это, чтобы переместить тело в положение, и они могут стать более сложными, чем я могу резюмировать в комментарии. По сути, вы попадаете в вещи, которые могут быть лучше освещены источниками программирования игрового ИИ.
Самый простой способ - применить силу, кратную (на каждую ось) расстоянию от объекта до целевой позиции. Если вы хотите, чтобы объект медленно останавливался, вам может подойти термин "поведение поступающего ИИ". Я нашел это обсуждение на gamedev.net.