新冠疫情:如何利用物理学检测物体的方向

我想知道如何通过物理学检测物体的方向,也就是当它正在下落时,是否可以通过事件监听器来实现?你有任何想法吗?

我需要这个知识来确定是否可以改变 spriteSheet。

谢谢。

点赞
用户2186639
用户2186639
本地变量 xVelocity,yVelocity
本地变量 upDown,leftRight         -- upDown = 1 代表上,leftRight = 1 代表左
....
-- 在此处获取物理对象的速度(假设通常方向)
    xVelocity,yVelocity = physicsObject:getLinearVelocity()
    如果 xVelocity > 0,则
        打印("物体向右移动")
        leftRight = 0
    end
    如果 xVelocity < 0,则
        打印("物体向左移动")
        leftRight = 1
    end
    如果 yVelocity > 0,则
        打印("物体向下移动")
        upDown = 0
    end
    如果 yVelocity < 0,则
        打印("物体向上移动")
        upDown = 1
    end
-----------------------------------
2013-04-22 09:12:44
用户2130287
用户2130287

要根据物体的速度找到精确的角度,你可以调用:

 local angle = atan2(xVelocity, yVelocity)

这将返回以弧度为单位的角度,然后可以将其转换为度数。这可以实现对物体的更精准控制。Daniel Shiffman在http://natureofcode.com/book/撰写了一本关于物理模拟的精彩书籍。

2013-04-26 17:09:53