2012-10-03 104 views
1

我一直在用XNA製作2D遊戲,它會有幾個獨特的敵人。我毫不費力地在屏幕上繪製獨立的精靈,一個在另一個上不會造成兩個敵人的相似,但我認爲如果不是每個敵人畫十個精靈,我會以某種方式將這些精靈合併爲一個精靈表。遊戲運行時,從現有的精靈表創建一個精靈圖表?

如果我在屏幕上有很多這樣的敵人,如果我合併,我會提高性能嗎?有沒有一種簡單的方法可以讓我以這種方式創建新的精靈表單,或者答案很複雜?

+0

這可能不是一個有價值的優化 - 除非您已經測量並確定了性能瓶頸。這是一個很大的工作,很少有收穫。批處理中的單個精靈是相當便宜的(如果您避免使用精靈表進行紋理更改 - [更多信息](http://gamedev.stackexchange.com/a/9289/288))。 –

+0

爲了我自己的澄清,你是否要求在運行時動態創建精靈圖表?爲什麼不在編譯之前創建精靈表並將其作爲普通內容管道的一部分加載? –

回答

0

繪製一個精靈而不是幾個可以更快。但是,如果您有性能問題,我只會推薦這一點。 SpriteBatch的繪圖精靈速度非常快。它具有很好的功能,可以繪製相同紋理的繪製調用,這使得它非常快速。如果您爲每個敵人創建單獨的紋理,則可能會失去此功能,這可能會導致性能下降。如果表格不會太大,則創建一個較大的精靈表格可能會更好。

要創建這樣的圖紙,您必須創建紋理/渲染目標並對其進行渲染。 Here是如何與XNA做到的。