因此,我有一個球員身體+夾具等,它本質上是一個球,反彈周圍。如何檢查身體是否幾乎停止移動在libgdx + box2d
我想檢測它何時「非常」完成移動。
目前,我這樣做:
public Boolean isStopped() {
return body.getLinearVelocity().x <= 0.3f && body.getLinearVelocity().y <= 0.3f;
}
這主要工作,是當玩家碰到什麼問題,有一個瞬間,其中它的速度是0,所以返回true。我真正想要的是在基本完成時才返回true。最好在我可以設置的任何範圍內調整我的遊戲世界的物理。
我不能用它來檢查它是否在睡覺,因爲那太遲了,直到它停止了部隊的作用之後纔會睡覺,我之前需要。
我可以只存儲停止的時間/停止的步數,但我希望能有一個很好的預先存在的方法,我錯過了。
任何想法?
是的,我想到了這些線之前。我確實在尋找一些已經在身體課程中出現的東西,我錯過了文檔中的錯誤或誤解。如果我要走這樣的路線,我會(現在已經)只是將時間增量作爲參數加入,以檢測它停止了多久。這是有效的,但它只是覺得應該有更好的東西。 –
嘿,儘管我最終使用了三角洲方法,但我已經接受了您的答案,因爲它至少向我展示了另一種選擇。從看你的代碼,我認爲我可以改變我的isMoving支票_Math.abs(body.getLinearVelocity()。len())> = 0.25f_? Math.abs對.len()甚至是必需的嗎? 非常感謝您的答覆! –
哦,我剛剛意識到我在哪裏知道iforce2d!我使用你的RUBE編輯器來創建我的關卡。加上rubeloader讓我的生活變得更加輕鬆。非常值得的錢。 –