How to move a physical body to a specific point

Here I derived formula for moving a physical body to a specific point

[lua]

local force = 0.05    --Speed of body

local current_Position_X = myBody.x    --myBody is a physical body which has to move

local current_Position_Y = myBody.y

local N_Movement_X = target.x - current_Position_X    --target point where my body has to move

local N_Movement_Y = target.y - current_Position_Y

local N_Distance_X = N_Movement_X * N_Movement_X

local N_Distance_Y = N_Movement_Y * N_Movement_Y

local distance = math.sqrt(N_Distance_X + N_Distance_Y)

local unit = 1/distance

N_Movement_X = N_Distance_X * unit    --Normalizing distance

N_Movement_Y = N_Distance_Y * unit    --Normalizing distance

local forceX = distance * N_Movement_X

local forceY = distance * N_Movement_Y

        

myBody:setLinearVelocity(forceX*force, forceY* force)[/lua]

Or you could use a touchJoint and do this:

myBody.tempJoint = physics.newJoint( "touch", myBody, myBody.x, myBody.y ) myBody.tempJoint.maxForce = 100000 myBody.tempJoint.frequency = 2500 myBody.tempJoint.dampingRatio = 1 myBody.tempJoint:setTarget(target.x,target.y)

Or you could use a touchJoint and do this:

myBody.tempJoint = physics.newJoint( "touch", myBody, myBody.x, myBody.y ) myBody.tempJoint.maxForce = 100000 myBody.tempJoint.frequency = 2500 myBody.tempJoint.dampingRatio = 1 myBody.tempJoint:setTarget(target.x,target.y)