LibGdx:在游戏中将一个spriteBatch保留为单身?或者每个屏幕一个spriteBacth?

时间:2014-04-02 09:49:07

标签: java android libgdx spritebatch

在LibGdx SpriteBatch doc中。它提到了

  

SpriteBatch是一个非常重的对象,所以你应该只在程序中有一个。

但我有点困惑!我想知道我是否必须在所有游戏中维护一个SpriteBatch(作为单例)或者每个屏幕都有一个SpriteBatch,如我现在发现的几个教程中所示。

我也想知道将SpriteBatch保持为单身是否是一个好主意。

提前谢谢。

1 个答案:

答案 0 :(得分:6)

您可以获得一些信息here

在我看来,每SpriteBatch你可以有1个甚至2个Screen个。如果您将另一个Screen设置为当前的hide()方法,那么您只需dispose() SpriteBatch。{ 这意味着,您必须在show()方法中创建一个新的 您可以使用一个SpriteBatch用于游戏,一个用于HUD/UI而不会出现任何问题。但请始终确保在另一方上拨打end()之前致电begin(),以便一次只有一个SpriteBatch处于有效状态。
当然,如果你不需要多于一个,你不应该使用多于一个。如果你想要你也可以拥有一个整体的gmae。但请注意您可能用于不同屏幕的不同ProjectionMatrix