Setting "distance" joint max lenght/ strengh

The code below creates a ball and 10 smaller balls (for use as a “tail”, however the joint seams elasticated. I am sure that isn’t right, probably due to me pulling the “head” circle :confused:

How can I stop it?

[lua]physics = require(“physics”)
physics.start()
physics.setGravity(0,0)
physics.setDrawMode( “hybrid” )

local Filter = { categoryBits = 2, maskBits = 3 } – collides with (2 & 1) only

local redBody = { density=0.2, friction=0, bounce=0.95, radius=43.0, filter=redCollisionFilter }
local blueBody = { density=0.2, friction=0, bounce=0.95, radius=43.0, filter=blueCollisionFilter }

local localGroup = display.newGroup()

local player = display.newCircle(400,200,50)
player:setFillColor(255,0,0)
physics.addBody(player, {radius = 50, filter=Filter})
localGroup:insert(player)

body = {}
bodyjoint = {}

body[1] = display.newCircle(player.x,player.y + 60,2)
localGroup:insert(body[1])
physics.addBody(body[1])
bodyjoint[1] = physics.newJoint( “distance”, player, body[1], player.x,player.y, body[1].x,body[1].y )
for i = 2,10 do
body[i] = display.newCircle(body[i-1].x,body[i-1].y+20,2)
localGroup:insert(body[i])
physics.addBody(body[i])
bodyjoint[i] = physics.newJoint( “distance”, body[i-1], body[i], body[i-1].x,body[i-1].y, body[i].x,body[i].y )
end

function move(event)
player.x = player.x + (event.x - player.x)/10
player.y = player.y + (event.y - player.y)/10
end

Runtime:addEventListener(“touch”, move)[/lua] [import]uid: 79135 topic_id: 14663 reply_id: 314663[/import]

oh never mind, I am now using “setLinearVelocity”, problem gone. [import]uid: 79135 topic_id: 14663 reply_id: 54231[/import]

hi anddrewscott, would you mind explain how did you use setLinearVelocity to remove the elasticity effect?
thanks! [import]uid: 112018 topic_id: 14663 reply_id: 76810[/import]