2016-04-28 72 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

我不知道有任何移動相關事件。所以我猜你必須經常輪詢物體速度爲零。

相關問題