【问题标题】:LibGdx : Keep one spriteBatch as singleton in Game? Or one spriteBacth per Screen?LibGdx:在游戏中保持一个 spriteBatch 作为单例?还是每个屏幕一个 spriteBacth?
【发布时间】:2014-04-02 09:49:06
【问题描述】:

在 LibGdx SpriteBatch 文档中。据说

SpriteBatch 是一个非常重的对象,因此您的程序中应该只有一个。

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

我还想知道将 SpriteBatch 保持为单例是否是个好主意。

提前谢谢你。

【问题讨论】:

    标签: java android libgdx spritebatch


    【解决方案1】:

    你可以得到一些信息here

    在我看来,每个 Screen 可以有 1 个甚至 2 个 SpriteBatchs。如果您将另一个Screen 设置为当前hide() 方法将被调用,您可以简单地dispose() 您的SpriteBatch
    这意味着,您必须在 show() 方法中创建一个新的。
    您可以将一个SpriteBatch 用于游戏,一个用于HUD/UI,没有任何问题。但请始终确保在调用begin() 之前先调用end(),以便一次只有一个SpriteBatch 处于活动状态。
    当然,如果您不需要多于一个,则不应使用多于一个。如果你愿意,你也可以为整个 gmae 准备一个。但请注意可能用于不同屏幕的不同ProjectionMatrixes。

    【讨论】:

    • 感谢您的解释。我也会检查链接。
    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2015-09-02
    • 2017-09-07
    • 1970-01-01
    相关资源
    最近更新 更多