电晕:如何用物理学检测物体的方向

时间:2013-04-21 01:32:00

标签: lua physics corona game-physics

我想知道如何用物理来检测物体的方向,我的意思是什么时候会掉下来。可以通过eventListener吗?任何想法怎么做?

我需要它才能知道我可以更改spriteSheet。

感谢。

2 个答案:

答案 0 :(得分:2)

试试这个:

local xVelocity, yVelocity
local upDown, leftRight         -- upDown = 1 for up, leftRight = 1 for left
....
-- Get speed of physics object here ( Assume normal orientation ---
    xVelocity, yVelocity = physicsObject:getLinearVelocity()
    if xVelocity > 0 then
        print( "Object goes right" )
        leftRight = 0
    end
    if xVelocity < 0 then
        print( "Object goes left" )
        leftRight = 1
    end
    if yVelocity > 0 then
        print( "Object goes down" )
        upDown = 0
    end
    if yVelocity < 0 then
        print( "Object goes up" )
        upDown = 1
    end
-----------------------------------

答案 1 :(得分:2)

根据你要调用的物体速度找到确切的角度:

 local angle = atan2(xVelocity, yVelocity)

以弧度为单位返回角度,然后可以将其转换为度数。这允许更精确地控制对象。 Daniel Shiffman写了一本很棒的书,涉及http://natureofcode.com/book/的物理模拟的许多方面。