2013-04-13 63 views
0

我用libGdx編寫簡單的遊戲。我有一個英雄,總是在屏幕中心,我必須移動我的背景精靈(或區域?),使移動錯覺。但我的背景精靈不是無限的。Libgdx:無限世界。如何?

  • 如何創建無縫無限世界的錯覺?

當然,我可以添加幾個背景精靈來嘗試覆蓋屏幕的所有空白區域。但我必須繪製出sceen了很多其他的所有對象:房子,怪物,別人的英雄,等等。所以我有一個第二個問題:

  • 當我嘗試繪製其他對象(大量的對象!)在屏幕之外,它對內存有多嚴重影響?如何正確繪製?

我知道在libgdx中的OrthographicCamera只繪製viewportWidth-viewportHeight區域。如果它是正確的,那麼我必須移動我的相機和我的所有精靈。我認爲這是不正確的。

  • 如何使用OrthographicCamera渲染libgdx中的無限世界?

enter image description here

回答

2

如何創建無縫無限世界的幻覺?

創建平鋪背景。平鋪背景意味着,如果它本身不在其頂部或底部,則粘合線的邊緣對觀看者而言將不可見。
要做到這一點在Photoshop中打開你的背景圖像,並轉到濾鏡>其他>偏移。 設置偏移過濾器以偏移背景以居中,然後嘗試使用Photoshop工具隱藏邊緣(圖像中的+形狀)。現在再次去偏移並返回到0,0並保存你的背景。

當我試圖畫出其他物體(很多物體!)在屏幕外, 它對內存有多嚴重?如何正確繪製?

我檢查了這一點,這是沒有太多的fps丟失我的測試。所以不要擔心。

如何使用OrthographicCamera在libgdx中渲染無限世界?

移動相機,你想要任何x,y。每次看到相機在哪裏計算需要平鋪背景畫(例如每次畫3x3 = 9的背景貼在一起)。