0

我想知道如何用物理学检测物体的方向,我的意思是什么时候掉下来。可以通过事件监听器吗?知道怎么做吗?

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

谢谢。

4

2 回答 2

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
-----------------------------------
于 2013-04-22T09:12:44.170 回答
2

要根据您调用的对象速度找到确切的角度:

 local angle = atan2(xVelocity, yVelocity)

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

于 2013-04-26T17:09:53.010 回答