Я новичок в BOX2d и мне нужно переместить тело и спрайт из центра в точку, где был контакт с низкой скоростью, я пытался использовать projectile-> SetTransform (b2Vec2 (location.x / PTM_RATIO, location.y / PTM_RATIO), 0);
, но движение очень быстрое и не заметное
box2D: переместить тело в точку (touchesEnded)
Ответы (2)
я мало что знаю об этом, но попробуйте свойство ApplyForce или ApplyImpulse
person
Virat Naithani
schedule
01.07.2011
При применении ApplyLinearImpulse тело перемещается, но отклоняется от точки, в которую следует двигаться, при повторных касаниях ведет себя некорректно
- person Invader; 01.07.2011
затем попробуйте соединение мыши, попробуйте этот учебник -› raywenderlich.com/475/
- person Virat Naithani; 02.07.2011
Всем спасибо, но поэкспериментировав с 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
Спасибо за ответы сейчас попробую
- person Invader; 04.07.2011