box2D: переместить тело в точку (touchesEnded)

Я новичок в BOX2d и мне нужно переместить тело и спрайт из центра в точку, где был контакт с низкой скоростью, я пытался использовать projectile-> SetTransform (b2Vec2 (location.x / PTM_RATIO, location.y / PTM_RATIO), 0);, но движение очень быстрое и не заметное


person Invader    schedule 01.07.2011    source источник


Ответы (2)


я мало что знаю об этом, но попробуйте свойство ApplyForce или ApplyImpulse

person Virat Naithani    schedule 01.07.2011
comment
При применении ApplyLinearImpulse тело перемещается, но отклоняется от точки, в которую следует двигаться, при повторных касаниях ведет себя некорректно - person Invader; 01.07.2011
comment
затем попробуйте соединение мыши, попробуйте этот учебник -› raywenderlich.com/475/ - person Virat Naithani; 02.07.2011
comment
Всем спасибо, но поэкспериментировав с mouseJoint я пришел к выводу что лучше играть импульсом и скоростью, получил то что хотел! - person Invader; 06.07.2011

Попробуйте использовать сустав мыши. Из руководства по Box2d:

[Соединение мыши] пытается переместить точку на теле в направлении текущего положения курсора. Ограничения на вращение нет.

Поиск мышиного сустава даст вам немало образцов...

http://www.box2d.org/forum/viewtopic.php?f=8&t=402

http://iphonedev.net/2009/08/05/how-to-grab-a-sprite-with-cocos2d-and-box2d/

person Michael Fredrickson    schedule 01.07.2011
comment
Спасибо за ответы сейчас попробую - person Invader; 04.07.2011