gpt4 book ai didi

libgdx - GameStateManager LibGDX

转载 作者:行者123 更新时间:2023-12-01 23:51:16 28 4
gpt4 key购买 nike

我用 libgdx 开始了一个项目,我有一个 GameStateManager 用于我的 GameStates 菜单和播放。

如果我运行该项目,它会显示菜单,然后我可以单击一个按钮来打开 Play GameState。问题是,当我结束游戏时,它应该再次显示菜单状态,但我得到的是黑屏。我测试了 render() 方法是否启动(使用 System.out...)以及 Menu 中的 render() 方法是否启动。

我不确定为什么在“重新打开”菜单状态时出现黑屏。也许它不起作用,因为我在 Play 中使用 Box2D,但我不知道。

这里是一些代码:

这是 Play 中的方法,如果玩家在最后,应该打开菜单:

public void playerEnded() {

gsm.setState(GameStateManager.MENU);

}

也许你可以告诉我,如果我必须结束 box2d 的事情。我希望有人能帮助我,如果你想要更多代码 - 没问题。

最佳答案

您的自定义 GameStateManager 应该扩展此类:

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/Game.html

要更改屏幕,您应该使用 Game.setScreen(Screen screen)

每个不同的屏幕都应该是 Screen 的一个实现。

所以它在我的 libGDX 项目中的工作方式是 GameScreen 扩展 Screen,而 MenuScreen 扩展 Screen。这样我就可以更改在什么屏幕上绘制的内容。

这一切都可以追溯到接口(interface)和多态性,所以如果您不了解这些概念,只需快速谷歌一下,您就会知道您需要做什么。

关于libgdx - GameStateManager LibGDX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26323114/

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