在LibGdx SpriteBatch doc中。它提到了
SpriteBatch是一个非常重的对象,所以你应该只在程序中有一个。
但我有点困惑!我想知道我是否必须在所有游戏中维护一个SpriteBatch(作为单例)或者每个屏幕都有一个SpriteBatch,如我现在发现的几个教程中所示。
我也想知道将SpriteBatch保持为单身是否是一个好主意。
提前谢谢。
答案 0 :(得分:6)
您可以获得一些信息here。
在我看来,每SpriteBatch
你可以有1个甚至2个Screen
个。如果您将另一个Screen
设置为当前的hide()
方法,那么您只需dispose()
SpriteBatch
。{
这意味着,您必须在show()
方法中创建一个新的
您可以使用一个SpriteBatch
用于游戏,一个用于HUD/UI
而不会出现任何问题。但请始终确保在另一方上拨打end()
之前致电begin()
,以便一次只有一个SpriteBatch
处于有效状态。
当然,如果你不需要多于一个,你不应该使用多于一个。如果你想要你也可以拥有一个整体的gmae。但请注意您可能用于不同屏幕的不同ProjectionMatrix
。