2014-01-16 50 views
3

我正在開發一個使用libgdx的遊戲。現在,我想要在我的地圖上放置背景(地圖大小不固定,但我稍後會決定)。我的地圖是平鋪的,但我不使用TiledMaps。所以我用自己的代碼/編輯器創建並加載地圖。在libgdx中加載大背景的最佳方法

我現在的問題:我應該如何實現背景?

我想到了不同的方式:

  • 加載一個巨大的圖片,它涵蓋了所有的地圖。這不是真的很好,因爲我呈現的東西,這不是在我的viewport (80 Tiles X,50 Tiles Y)

  • 在4個或更多圖像中展開圖像並在視口中加載圖像。問題:在某些時候,可能所有圖像的一部分在視口中,因此所有圖像都發送到GPU了嗎?

  • 有1圖像涵蓋了viewport (80,50)並且跟在相機之後。我認爲最好的表現,但它會看起來很蠢...

  • 或者每個瓷磚都有一個自己的圖像和對象在他們上面繪製。請注意,我只在視口內渲染Tiles。但是在Gamestart上它需要加載關於關卡中每個圖塊的信息。

有關信息:我的遊戲是自上而下和背景顯示地板需要這麼沒有詳細的丘陵等,只是也許一些簡單的沙漠外觀之類的東西。還有更好的方法嗎?

什麼是性能和光學的最佳方式?

+0

只是我注意到的性能事情。爲什麼渲染不在視口中的對象?你失去了很多的表現。只需更新視口外的obj,不要渲染它們。 – BennX

+0

我不在視口外渲染瓦片,但是當圖像的一部分在視口中時,我認爲整個圖像都會被渲染。 這是錯的嗎? – Springrbua

+0

nono多數民衆贊成正確。但是,只是想知道,因爲你寫道,你渲染的東西不在你的視口。 – BennX

回答

5

如果你的遊戲是基於瓷磚。讓背景平鋪也會更有意義。只需使用另一個。如果你的編輯器/加載器不支持多個圖層,那麼我建議你切換到另一個圖層,或者添加這些特性(如果可能的話)。

背景顯示地板,所以沒有需要詳細的山丘等,也許只是一些簡單的沙漠沙看起來像這樣的事情。

這是很容易在類似沙漠重用瓷磚,因爲他們所有的瓷磚都非常相似(砂)。

+0

啊Lestat你再次xD像往常一樣好的答案!非常感謝。我沒有編輯器,因爲我剛開始使用遊戲,所以我認爲我可以支持多個圖層。所以在啓動時加載沒有太多東西?謝謝 – Springrbua

+1

不用擔心,用當前的設備技術,你不會有任何問題加載2層或更多層的瓷磚:) – Lestat

+0

啊好吧謝謝:我不知道如果我甚至想要生產Android版本導致觸摸屏控制對於那種遊戲xD不會有好處 – Springrbua

相關問題