La manière la plus simple est en fait d'utiliser SetPosition
/SetTransform(position,angle)
. Par exemple:
body->SetTransform(b2Vec2(0,0),body->GetAngle())
De toute évidence, le saut instantané signifie que vous subverti la simulation de la physique, mais il est le plus simple moyen le plus direct pour régler la position d'un corps. Étant donné que vous ne voulez pas utiliser SetPosition
(ce qui équivaut au code affiché ci-dessus), alors ApplyLinearImpulse
avec la force appropriée (basée sur la masse et la vitesse actuelle du corps) fera l'affaire, et est plus correct du point de vue de la simulation, mais susceptible d'être plus problématique compte tenu des effets secondaires potentiels, etc.
Quoi qu'il en soit, iforce2d a couvert SetLinearVelocity
..., et j'ajouterais qu'un joint de souris est très utile même quand la "souris" n'est pas impliquée.
voulez-vous dire son ancrée à un seul endroit et vous voulez qu'il soit déplacé autour ou voulez-vous pour passer à un certain endroit et y rester? S'il vous plaît élaborer dans tous les cas. – Shannon