2014-01-07 3 views
0

Привет в игре, которую я делаю с помощью lua в Marmalade Quick, у меня возникла проблема с физикой.Сделать физический узел горизонтальным, не вращаясь

У меня нормальная нисходящая сила y и есть некоторые заметки, на которые это влияет. Теперь я хочу добавить некоторые объекты, которые «летают» горизонтально по оси X, но я не могу заставить его работать.

так одна из нот выглядит следующим образом:

sky2 = director:createSprite(dw, 40, "textures/tractor.png") 
    physics:addNode(sky2, {type="dynamic"}) 
    sky2.physics:setGravityScale(0) 

моя первая мысль была просто добавить следующее к обновлению слушателя

if(gameplaying == true) then 
     sky2.x = sky2.x-2.5 

, к сожалению, это не работает после того, как узел имеет добавлено физическое

затем я искал использование

sky2.physics:applyapplyLinearImpulse or sky2.physics:applyForce 

Я использовал его как этот

sky2.physics:applyapplyLinearImpulse(-10, 0, -20, 40) 

Проблема здесь состоит в том, что узел затем правильно движется вдоль оси, но она spinnig вокруг (крутящий момент эффекты) ..

Есть далеко, чтобы остановить это или то, что я делаю неправильно ,,

спасибо ..

ответ

1

Найдено, что Marmalade Quick документации было неправильно, и не вводится одновременно ПВ и ПВ вал ue, но только 0, поэтому sky2.physics:applyapplyLinearImpulse(-10, 0) это применит импульс в центре масс и заставит его двигаться прямо.