Java LibGdx:在游戏中保持一个spriteBatch作为单打?还是每个屏幕一个精灵?

Java LibGdx:在游戏中保持一个spriteBatch作为单打?还是每个屏幕一个精灵?,java,android,libgdx,spritebatch,Java,Android,Libgdx,Spritebatch,在LibGdxSpriteBatchdoc中。据说 SpriteBatch是一个相当重的对象,因此在程序中应该只有一个 但我有点困惑!我想知道我是否必须在所有游戏中维护一个SpriteBatch(作为singleton),或者在我找到的几个教程中显示的每个屏幕上都有一个SpriteBatch 我还想知道作为单身汉保留SpriteBatch是否是个好主意 提前谢谢你。你可以得到一些信息 在我看来,每个屏幕可以有1个甚至2个SpriteBatchs。如果将另一个Screen设置为当前屏幕,则调用hi

在LibGdxSpriteBatchdoc中。据说

SpriteBatch是一个相当重的对象,因此在程序中应该只有一个

但我有点困惑!我想知道我是否必须在所有游戏中维护一个SpriteBatch(作为singleton),或者在我找到的几个教程中显示的每个屏幕上都有一个SpriteBatch

我还想知道作为单身汉保留SpriteBatch是否是个好主意


提前谢谢你。

你可以得到一些信息

在我看来,每个
屏幕可以有1个甚至2个
SpriteBatch
s。如果将另一个
Screen
设置为当前屏幕,则调用
hide()
方法,在那里您只需
dispose()
您的
SpriteBatch

这意味着您必须在
show()
方法中创建一个新的 您可以在游戏中使用一个
SpriteBatch
,在
HUD/UI
中使用一个,而不会出现任何问题。但在另一个上调用
begin()
之前,一定要确保在其中一个上调用
end()
,这样一次只有一个
SpriteBatch
处于活动状态。

当然,如果你不需要超过一个,你不应该使用超过一个。如果你愿意的话,你也可以在整个gmae考试中得到一个。但是要小心使用不同的
ProjectionMatrix
es,您可以在不同的屏幕上使用它们。

谢谢您的解释。我还将检查链接。