Ajuda com Joints

Olá pessoal.
Estou começando no universo do corona e logicamente tendo algumas dificuldades.
Estou tentando criar um carro mas as rodas estão girando em torno do eixo do carro.

Foi inserido a imagens do carro e das rodas separadas:

[lua]local body = display.newImageRect(“van.png”,100,50)
body.x = 100
body.y = 200
body.myName = “van”
physics.addBody( body, physicsDataCarro:get(“van”) )
local roda1 = display.newImageRect(“roda.png”,30,30)
roda1.x = 130
roda1.y = 235
physics.addBody( roda1,“dynamic”, { density = 1.0, friction = 5, bounce = 0.2, radius = 15} )

local roda2 = display.newImageRect(“roda.png”,30,30)
roda2.x = 70
roda2.y = 235
physics.addBody( roda2,“dynamic”, { density = 1.0, friction = 5, bounce = 0.2, radius = 15} )[/lua]

Foi criado os suportes do carro:

[lua]-----------------------------------------------------
–suportes do carro

quadradoDireita = display.newRect(122,210,10,5)
physics.addBody( quadradoDireita, { density = 0.05, friction = 0.3, bounce = 0.2} )
quadradoEsquerda = display.newRect(60,210,10,5)
physics.addBody( quadradoEsquerda, { density = 0.05, friction = 0.3, bounce = 0.2} )[/lua]

Os amortecedores
[lua]RetanguloDireita = display.newRect(115,210,15,15)
physics.addBody( RetanguloDireita, { density = 0.05, friction = 0.3, bounce = 0.2} )
RetanguloEsquerda = display.newRect(60,210,15,15)
physics.addBody( RetanguloEsquerda, { density = 0.05, friction = 0.3, bounce = 0.2} )[/lua]

Inserindo as partes em um grupo

[lua]CarroQuadrados:insert(trilha)
CarroQuadrados:insert(roda1)
CarroQuadrados:insert(roda2)
CarroQuadrados:insert(quadradoDireita)
CarroQuadrados:insert(quadradoEsquerda)
CarroQuadrados:insert(body)
CarroQuadrados:insert(RetanguloDireita)
CarroQuadrados:insert(RetanguloEsquerda)
CarroQuadrados.y = 0[/lua]

e os joints

[lua]local juntaQuadradoEsquerdoCarro = physics.newJoint (“weld”, body,
quadradoEsquerda, quadradoEsquerda.x, quadradoEsquerda.y)
local juntaQuadradoDireitoCarro = physics.newJoint (“weld”, body,
quadradoDireita, quadradoDireita.x, quadradoDireita.y)

local juntaRetanguloEsquerdoQuadrado = physics.newJoint (“weld”, quadradoEsquerda,
RetanguloEsquerda, RetanguloEsquerda.x, RetanguloEsquerda.y)
local juntaRetanguloDireitoQuadrado = physics.newJoint (“weld”, quadradoDireita,
RetanguloDireita, RetanguloDireita.x, RetanguloDireita.y)

local piston_joint_Esquerda = physics.newJoint(“piston”, RetanguloEsquerda, quadradoEsquerda, RetanguloEsquerda.x, RetanguloEsquerda.y , 0, -1)
piston_joint_Esquerda.isLimitEnabled = true
piston_joint_Esquerda:setLimits(100,900)

local distanceRodaEcarro = physics.newJoint(“distance”, roda2, body, roda2.x,roda2.y,body.x,body.y)

–distanceRodaEcarro.frequency = 15
–distanceRodaEcarro.dampingRatio = 20

local distanceRodaDcarro = physics.newJoint(“distance”, roda1, body, roda1.x,roda1.y,body.x,body.y)
–distanceRodaDcarro.isLimitEnabled = true

–Joint:getRotationLimits()
–distanceRodaDcarro.frequency = 15
–distanceRodaDcarro.dampingRatio = 20

local distanceRodaE2 = physics.newJoint(“distance”, quadradoDireita, RetanguloEsquerda, quadradoDireita.x,quadradoDireita.y,RetanguloEsquerda.x,RetanguloEsquerda.y)
local distanceRodaD2 = physics.newJoint(“distance”, quadradoEsquerda, RetanguloDireita, quadradoEsquerda.x,quadradoEsquerda.y,RetanguloDireita.x,RetanguloDireita.y)

– o motor for?a o objeto para fora
piston_joint_Esquerda.isMotorEnabled = true
piston_joint_Esquerda.motorSpeed = 300
piston_joint_Esquerda.maxMotorForce = 10

local piston_joint_Direita = physics.newJoint(“piston”, RetanguloDireita, quadradoDireita, RetanguloDireita.x, RetanguloDireita.y , 0, -1)
– o motor for?a o objeto para fora
piston_joint_Direita.isMotorEnabled = true
piston_joint_Direita.motorSpeed = 300
piston_joint_Direita.maxMotorForce = 10

–mant?m fixa a dist?ncia entre as rodas

local distanceRodas = physics.newJoint(“distance”, roda1, roda2, roda1.x,roda1.y,roda2.x,roda2.y)

–sistema de molas para manter as rodas juntas das suspen??es

local distanceRodaE = physics.newJoint(“distance”, roda1, RetanguloEsquerda, roda1.x,roda1.y,RetanguloEsquerda.x,RetanguloEsquerda.y)
local distanceRodaD = physics.newJoint(“distance”, roda2, RetanguloDireita, roda2.x,roda2.y,RetanguloDireita.x,RetanguloDireita.y)

local distanceRodaE = physics.newJoint(“distance”, roda2, RetanguloEsquerda, roda2.x,roda2.y,RetanguloEsquerda.x,RetanguloEsquerda.y)
local distanceRodaD = physics.newJoint(“distance”, roda1, RetanguloDireita, roda1.x,roda1.y,RetanguloDireita.x,RetanguloDireita.y)[/lua]

Este código fez com que o carro esteja com o comportamento da imagem abaixo:

Carro - https://dl.dropbox.com/u/11765686/carro.png

Não sei se há algo errado na criação dos joints mas gostaria de um resiltado parecido como estes

abaixo:

https://www.youtube.com/watch?feature=player_embedded&v=Owu-8D662M8

https://www.youtube.com/watch?v=rwczaOP0-LI

[import]uid: 154714 topic_id: 35104 reply_id: 335104[/import]