如何在电晕sdk中检查物体是否正在向下加速?

时间:2014-02-07 20:31:26

标签: android ios lua corona

如何在corona SDK中检查对象是否正在向下加速?

我正在使用corona SDK物理引擎。

1 个答案:

答案 0 :(得分:2)

请注意,物体可能向下移动但由于向上的力而减速,这最终将使其运动向上移动。同样地,它可能向上移动但由于向下的力而减速,最终会使其下降。所以“加速向下”并不是一个明确的问题。

如果你真的想要向下移动并获得速度,你可以在每个enterFrame事件中使用body.getLinearVelocity()并与之前的比较:

local oldVy = 0

function enterFrame(e)
    local newVx, newVy = myBody:getLinearVelocity()
    if newVy > 0 and newVy > oldVy then
        print 'accelerating downwards'
    end
    oldVy = newVy
end

Runtime:addEventListener('enterFrame', enterFrame)

现在无法检查,但正y速度可能意味着向下,否则你将不得不调整测试条件。在任何情况下,条件的一部分是“向下移动”而另一部分是“在向下方向上增加速度”。

请注意,“加速”是您的问题的关键:如果您只是想知道它是否向下移动(但可能是),那么您不需要newVy> oldVy检查。