我有一個高度爲600像素的視圖,每個像素爲50個像素,每個像素爲12個框。我創建了一個球,用戶在重力的作用下點擊。我正在做這個物理演示,我試圖讓它儘可能準確。目前,我正在使用的規模使用四個盒子(或200像素)作爲一米。計算「y」位置的方法被稱爲每秒50次(50 fps)。當我嘗試使用此代碼運行該程序時,它的運行時間相當長。爲Java創建精確的引力
這是我打電話到更新位置的方法:我通過200乘以米轉換爲像素
public double calcY()
{
velocity += acceleration*200/2500;
return(getY()-velocity);
}
。 除以2500,因爲它被稱爲每秒50次,所以(50)^ 2是2500.
現在它不是很多。 感謝您的幫助。
你採取更新率平方的原因是什麼?我懷疑這是必要的。 – Philipp
'v = v0 + a * t'(沒有t^2)。看到'getY() - velocity'也是很奇怪的......通常會採用相同的'y = y0 + v * t'(當組合這兩個方程時會出現t^2)。此外,通常會使用* actual *經過時間,而不是預期的經過時間。 – user2864740
另外,你確定你的更新函數每秒被調用50次嗎?您的計時代碼中可能存在錯誤?一個典型的初學者錯誤是忘記考慮執行更新函數本身所花費的時間。 – Philipp