2

在我的 libgdx 游戏中,想要绘制一个信息面板,其中显示了我当前的健康状况等。我已经看到了这个问题,它显示了类似的内容,但是我的面板不需要对用户输入做出反应,它应该只显示信息。这就是为什么我不想在我的游戏屏幕上添加第二个阶段。但我需要确保它被画在其他一切之前。我该如何管理?我认为 z-Index 不起作用,因为当我的角色拍摄时,它会在舞台上添加一个“子弹”演员,而这个演员会在最后一个索引处,对吗?“暂停菜单”也是如此,但为此我真的可以使用第二阶段。或者暂停菜单还有更好的解决方案吗?

编辑:重写 stage.draw() 方法是个好主意吗?我可以先调用 super.draw() 然后绘制我的信息面板。所以它总是在前面。或者我不应该覆盖 stage.draw() 吗?

4

2 回答 2

2

最好的方法是有 2 个阶段。

如果您不希望它对用户输入交互做出反应,您唯一需要做的就是不要将第二阶段设置为输入处理器。

覆盖 stage.draw() 显然会起作用,但它会使其难以维护。此外,这将是一个不受欢迎的设计选择,因为您的游戏功能是在舞台的子类中描述的(它应该是一个演员(在理想世界中:D))

希望这可以帮助。

于 2014-01-23T10:32:30.160 回答
1

重写 stage.draw() 方法是个好主意吗?我可以先调用 super.draw() 然后绘制我的信息面板。所以它总是在前面。或者我不应该覆盖 stage.draw() 吗?

如果您真的希望所有人都处于一个阶段。(我真的不认为使用 2 个阶段会使设计更容易)。好的。不要犹豫覆盖 Stage.draw();

于 2014-01-22T21:02:20.287 回答