我有彈跳的球,每次碰撞時他們的速度矢量都會被恢復係數降低。使用epsilon值來確定遊戲中的球是否不移動?
現在我的球COR爲我的球是0.80。所以在很多反彈之後,我的球已經「停止」了,因爲他們的速度已經變得很小了。
在什麼階段是適當的檢查,如果速度值足夠小,以簡單地稱之爲零(所以我沒有反應,他們的微速球的瘋狂抖動)。我在某些論壇上讀到過,人們有時會使用epsilon常數,一些小數字,然後檢查它。
我應該定義的ε恆定,這樣做:
if Math.abs(velocity.x) < epsilon then velocity.x = 0
每次我更新了球的速度和位置?這是通常完成的嗎?將它放在我的Vector類的x和y的setter中是否合理?或者我應該在計算速度時在矢量類之外進行。
而且,這將是一個合理的小量值,如果我使用花車我的速度矢量?