LibGDX:当我更换屏幕时,我的特定课程如何继续保留?

时间:2016-05-05 19:04:21

标签: 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.PlayScreen5extra());

}

因此,当我进入screen2时,我希望游戏继续从60开始计数,而不是0。

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

1 个答案:

答案 0 :(得分:2)

我可以想到两种方式:

在游戏类中创建Hud对象并创建方法以获取hud引用(假设方法名称:getHud)

Hud hud = ((Game) Gdx.app.getApplicationListener()).getHud();

创建单件对象

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

 private Hud() {}