如何在corona SDK中检查对象是否正在向下加速?
我正在使用corona SDK物理引擎。
答案 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检查。