我想知道如何用物理来检测物体的方向,我的意思是什么时候会掉下来。可以通过eventListener吗?任何想法怎么做?
我需要它才能知道我可以更改spriteSheet。
感谢。
答案 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/的物理模拟的许多方面。