Android LibGDX:当我更改屏幕时,我的特定类如何继续保持不变?

Android LibGDX:当我更改屏幕时,我的特定类如何继续保持不变?,android,libgdx,Android,Libgdx,当我将屏幕更改为另一个屏幕时,我希望Hud类仍处于活动状态,因此,例如,如果我在屏幕1上有60枚硬币,我希望60枚硬币仍保留在屏幕2上,而不是重新启动。 这就是我在屏幕2上的方法 hud = new Hud5(Globals.game.batch); 这是我如何调用屏幕2: if(score > 60){ ((Game) Gdx.app.getApplicationListener()).setScreen(new com.mygdx.game.Level5.PlayScreen5ext

当我将屏幕更改为另一个屏幕时,我希望Hud类仍处于活动状态,因此,例如,如果我在屏幕1上有60枚硬币,我希望60枚硬币仍保留在屏幕2上,而不是重新启动。 这就是我在屏幕2上的方法

hud = new Hud5(Globals.game.batch);
这是我如何调用屏幕2:

if(score > 60){
((Game) Gdx.app.getApplicationListener()).setScreen(new com.mygdx.game.Level5.PlayScreen5extra());

}
所以当我进入screen2时,我希望游戏继续从60开始计数,而不是从0开始


我也有一个计时器在运行,我希望它也跟着运行,所以我不能在屏幕2上将分数设置为60。

我可以想出两种方法:

在游戏类中创建Hud对象,并创建获取Hud引用的方法(比如方法名:getHud)

创建单例对象

public class Hud {
 private static Hud hud;
 public static Hud getHud() {
   return (hud==null)?hud=new Hud():hud;
 }

 private Hud() {}

不要使用静态类,特别是在android上,你会有一段不愉快的时光,只需将你所拥有的类的java引用传递给新PlayScreen5extra类的构造函数即可。
public class Hud {
 private static Hud hud;
 public static Hud getHud() {
   return (hud==null)?hud=new Hud():hud;
 }

 private Hud() {}