使物理节点水平移动而不旋转。

在我用 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 或 sky2.physics:applyForce

我像这样使用:

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

问题在于,这样节点会沿着轴线正确移动,但是它在旋转(扭矩效应)。

有办法停止这种情况或我做错了什么,

谢谢...

点赞
用户2609375
用户2609375

发现 Marmalade Quick 文档有误,不应同时输入 px 和 px 值,而应只输入 0,所以 sky2.physics:applyapplyLinearImpulse(-10, 0) 这样可以在重心位置施加冲量并使其直线运动。

2014-01-08 19:02:33