在 libgdx 中同时运行两个不同的屏幕

问题描述

我想同时渲染 2 个不同的屏幕。当我触摸暂停按钮时,新的和小尺寸的屏幕应该能够出现在第一个屏幕上,而无需配置 FirstScreen。我该怎么做。

The pic of my idea

解决方法

您可以链接渲染方法。在第一个屏幕渲染方法中,添加

...
if (pauseButtonPressed) {
    smallScreen.render();
}
...

只要你打电话

gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT | GL20.GL_STENCIL_BUFFER_BIT);

第二个屏幕将绘制在第一个屏幕之上。所有屏幕都是全尺寸,并且没有允许渲染到屏幕部分的视口,因此作为渲染覆盖代码的一部分,您必须保持在小屏幕的所需范围内。

此外,dispose() 允许您释放不再需要屏幕时使用的资源(内存),而不是您移除屏幕的方式。