與FPS

2016-03-23 74 views
0

動畫同步在我編程簡單的2D遊戲引擎的那一刻(只是因爲我想這樣做,我知道現在已經有很多真棒者的)與FPS

不過這只是順便說一句...

我實際上問題:

我用update()和draw()方法得到了一個正常的遊戲循環。 現在我想顯示一個精靈動畫(僅有3架),但它的邏輯,我得到了更多的FPS比3(約90.000〜),但我不希望動畫回放快這一點。我希望在一秒鐘內完成播放。所以,現在我的問題:什麼是最好的方法來實現這一點?我怎樣才能將這些幀率一起翻譯?我知道我可以做一些事情,比如把我的實際FPS與我的動畫獲得的幀分開,並且讓結果知道我必須等待多少幀,直到我能夠顯示下一幀,但是我不喜歡那樣。 所以我需要你們的一些意見。

非常感謝您的閱讀。

回答

0

創建一個激發每1/30秒30 FPS性能計時器,然後做你的繪圖中該回調。 impl可能需要根據繪製和其他問題花費多長時間來調整回調時間。主要的一點是,你的動畫代碼應該只需要根據時間偏移量(即顯示回調被調用的次數)計算出它所在動畫的「幀」。只要渲染時間快速完成,以便渲染以平滑且平滑的間隔開始,那麼動畫看起來不錯。

+0

不錯的主意,非常感謝你! – Luftbaum

0

對於通過每一幀,計算(電流之間的時間 - 最後一幀)的增量時間,並把它添加到一個櫃檯,你可以選擇你想要的速度有多快,以這樣做,那麼使用此計數器來推進基於幀。

ie:如果你希望你的動畫每0.5秒前進一幀,你應該爲每一幀添加增量時間,一旦它命中(或通過)500毫秒< - > 0.5秒,那麼你可以前進幀。

這樣,你佔了出乎意料的快/慢幀,並獲得一致的動畫。

+0

謝謝,另一個偉大的想法,但這一次沒有失去fps。 – Luftbaum