2012-11-20 82 views
0

這是用C++編寫的,我用的是VC++ 2010.移動速度計算問題

我正在創建一個基於圖塊的遊戲,每個圖塊都是32像素。如果給了你一定的時間,並且在那個時候你想要在一個方向上移動一個32像素的圖像,那麼我將如何計算每幀的移動量?幀速率不固定,我可以訪問幀增量時間。

如果您需要更多信息,請查詢。

+0

整數除法? – djechlin

+0

如果你問我是否使用整數除法,那麼是的。座標都是整數。 –

回答

1

你需要計算它的基本公式是:

p個像素/ S秒*三角洲T秒/幀= X像素/幀

例如,我們會使用你的瓷磚的大小和在1秒內移動它,當前幀速率爲30 fps。

32像素/ 1秒*0.033秒/幀= 1.056像素/幀

int P = 32; 
double S = 1.0; 
double T = getFrameTime(); 
double X = P/S * T; 
+0

你的數學有點偏離。你應該用「S」秒來劃分,而不是相乘或單位出錯。 –

+0

你是完全正確的邁克。感謝您指出了這一點。現在應該修好了。 –

+0

感謝這個傑克和邁克,完美的作品。 –