2016-04-28 73 views
0

我有一些物体在物理显示中移动。我想确定何时机构停止移动以便调用函数来采取行动。 我试过这样的功能:如何确定显示器中的物体何时停止在lua中移动

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

这不会被调用。我如何正确地做到这一点?

+0

请包括您实际尝试的内容,例如,什么是“condition”? – DavisDude

回答

0

您可以here看看如何实现自己的回调。基本上你可以创建一个代理表作为过滤器,筛选某些行为并对其采取行动。

如果你不想这样做,假设你创建了physics body,你正在寻找的功能是object:getLinearVelocity。如果物体的x和y速度为零,则物体停止移动。当然,您需要检查每次更新。

另外,如果你不使用物理体,你可以自己计算。您只需跟踪对象的最后一个x和y位置,并且如果值相同,则该对象自从持续更新后未移动。

+0

这是否意味着我必须继续等待身体停止移动的间隔后才进行轮询? – user3547555

+0

@ user3547555我不确定你的意思,虽然我已经更新了我的答案,包括一个相关的链接,我认为这将是解决您的问题的方法 – DavisDude

0

我不知道有任何移动相关事件。所以我猜你必须经常轮询物体速度为零。

相关问题