如何在lua中确定显示的物体何时停止移动

我正在使用物理学让一些物体在显示中移动。我想确定物体什么时候停止移动,以便调用函数来执行操作。 我尝试了一个如下的函数:

function ball:stopMove ()
    if condition then
        print("Game Over!!!")
    end
end

但是它没有被调用。我该如何正确地实现这个功能?

点赞
用户2858170
用户2858170

我不知道有任何与运动相关的事件,所以我猜你要频繁地检查物体的速度是否为零。

2016-04-28 10:54:24
用户2238176
用户2238176

你可以点击这里 查看如何实现自己的回调函数,基本上你可以创建一个代理表,充当过滤器,筛选特定的操作并对其进行操作。

如果你不想这么做,假设你已经创建了一个物理身体,那么你要找的函数就是object:getLinearVelocity。如果物体的x和y速度都是零,那么身体已经停止移动了。当然,你需要每次更新都检查一下。

如果你不使用物理身体,也可以自己计算。你只需要跟踪物体的上次x和y位置,如果这些值相同,则表示对象自上次更新以来没有移动。

2016-04-28 16:24:51