【问题标题】:LibGDX persist actors while switching screens?LibGDX 在切换屏幕时坚持演员?
【发布时间】:2014-06-07 12:04:16
【问题描述】:

我正在 LibGDX 中制作游戏,并且我有几个使用 scene2d ui 的菜单屏幕。 我有一个 MenuBaseScreen 超类,用于设置每个屏幕所需的默认演员。然后我有一个 MainMenu、Options 等屏幕,每个屏幕都从 MenuBaseScreen 继承。 在每个屏幕中都有一个从右到左不断变化的视差背景。 这个视差背景在 MenuBaseScreen 中被实例化。

现在的问题是,每次我切换屏幕时都会出现快速延迟,因为 背景必须重新实例化并再次添加到舞台,因为每个子类都会调用所有这些发生的超级构造函数。

所以我想知道是否有办法在切换屏幕时保留此图像及其动画?

当然,我可以只替换除我的背景之外的所有演员,并且只有一个屏幕而不是多个屏幕。但我认为这种方法有点笨拙,并且会导致容易出错的代码。

谢谢。

【问题讨论】:

  • 将它保存在另一个类中,这样就不会每次都重新创建它。

标签: java libgdx scene2d


【解决方案1】:

为什么不将需要的演员/组件作为在多个屏幕中使用的static 作为 MenuBaseScreen 的一部分。此外,您可能希望查看将 libGDX 中已有的 Screen 接口与 ApplicationListener 类的 Game 类一起使用。更多信息here

【讨论】:

  • 不!这是一个非常糟糕的建议。首先,Android 上的静态变量是有问题的,因为它们可能会在应用重启后仍然存在,从而导致难以追踪错误。其次,您链接到的 wiki 不是官方 wiki,非常过时,而且通常是错误的。 OP,你想看看 AssetManager 让你的资产在屏幕上保持活跃。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-15
相关资源
最近更新 更多