gpt4 book ai didi

java - 在 LibGdx 应用程序上的屏幕之间切换

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:20 25 4
gpt4 key购买 nike

我是 libgdx 的新手,这是我的第一个应用程序,但我遇到了屏幕切换问题。

我已经设置了这样的主类:

public class MyClass extends Game {
MenuClass menuClass;
ActionGame actionGame;


@Override
public void create() {
menuClass = new MenuClass(this);
actionGame = new ActionGame(this);
setScreen(actionGame);
}
}

ActionGame 类的方法如下:

....
@Override
public void pause() {
game.setScreen(game.menuClass);
}

@Override
public void resume() {
this.show();
this.render(Gdx.graphics.getDeltaTime());
}
....

和menuClass.java的方法一样,当触摸播放按钮时:

....
@Override
public void resume() {
game.actionGame.resume();
}
....

当我触摸播放按钮时,我希望 actionGame 类在 Action 渲染中返回,但渲染没有开始。我尝试过使用 setScreen,但这会重新启动我的屏幕,这不好。帮助

谢谢

最佳答案

您错误地使用了resume。当您的应用程序返回屏幕时,总是会调用它。您永远不应该自己对任何类调用 resume()。当您的应用程序返回前台时,Libgdx 会调用它。

您应该在 pause 方法中切换到菜单屏幕,这是正确的,因为游戏玩家希望当应用程序关闭屏幕时游戏能够自动转到菜单或暂停屏幕。但您不希望当应用程序返回屏幕时自动切换回游戏。

resume 方法仅用于重新加载您在 pause 中卸载的内容(您可能不需要这样做),或者重新启动音乐,或类似的操作。

您的播放按钮绝对不应该调用resume。它应该调用setScreen(actionGame);。您当前设计的任何 resume 方法中都不应该有任何内容。

关于java - 在 LibGdx 应用程序上的屏幕之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com