2011-12-12 76 views
2

現在答案不必以我正在使用的編程語言(Java)爲中心,這實際上是一個普遍的問題。我正在製作一臺2D平臺遊戲機,並自動生成超過30000張貼圖(300x100地圖)的地形。現在,這顯然造成如此之多的滯後和閃爍。二維平臺 - 只能移動屏幕上當前的物體?

我能想到的一種防止這種情況的方法是隻在屏幕上移動對象,但這對我來說很難想象。

這是一個側面卷軸,這個人移動直到他到達中間,當他在中間時,平臺開始移動,那就是當它變得密集時。每當擺動計時器滴答時,它必須爲整個30000個瓦片做循環。

有人願意開導我嗎?只要朝着正確的方向推動就會很棒。

謝謝!

回答

1

您可能會在MVC上使用一些變體,您將別無選擇,只能移動模型中的所有內容 - 程序的非GUI邏輯表示 - 需要移動,但這個開銷不應該很大。您只需要將視圖中的東西(程序的GUI部分)移到視圖的視口內(屏幕上),這將成爲地圖上對象的一個​​非常有限的子集。

+0

所以,基本上我應該爲平臺做所有的計算,但是隻能畫出接近屏幕的視圖區域? – Qasim

+0

@Qasim:是的,確切的。如果這仍然太慢,那麼考慮分析你的程序,看瓶頸在哪裏。 –

+0

好的,謝謝。我現在瞭解如何去做這件事。在我無能爲力之前 – Qasim

相關問題