当我将屏幕更改为另一个屏幕时,我希望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。
答案 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() {}