因此,我将 LibGDX 用于我即将推出的应用程序。
我使用 FitViewport 来确保 16:9 的宽高比。
因此,使用 16:9 以外的其他宽高比的播放器会出现网站黑边。
绘制屏幕填充背景图像并覆盖黑条所在区域的最佳方法是什么?
camera = new OrthographicCamera();
viewport = new FitViewport(WIDTH, HEIGHT, camera);
viewport.apply();
camera.position.set(WIDTH / 2, HEIGHT / 2, 0);
camera.update();
这就是我当前设置相机/视口的方式。
然后我用 SpriteBatch 在上面绘制东西。
Gdx.gl.glClearColor(1, 1, 1, 1);
这就是我目前至少将黑条的颜色更改为任何 RGB 颜色的方法。
在我看来,最好的想法是创建第二阶段并拥有自己的Viewport
仅用于背景目的。这第二Viewport
不应该是填充视口- 根据我的经验,它将扩展您的图形。我认为扩展视口在这种情况下更好。
那么它应该是什么样子:
Stage stage, backStage;
FitViewport viewport;
ExtendViewport backViewport;
...
stage = new Stage(); //this is your normal stage you have now
stage.setViewport( yourFitViewport ); //here you are assingning fit viewport
backViewport = new ExtendViewport( screenWidth, screenHeight );
backStage = new Stage();
backStage.setViewport( backViewport );
...
//now add to backStage your background Image
backStage.addActor( yourBackground );
现在只需处理渲染方法中的新阶段。
backStage.act();
stage.act();
backStage.draw(); //backStage first - we want it under stage
stage.draw();
并更新新的Viewport
像旧的一样更新或渲染。就这样。
阅读更多关于Viewports
here: https://github.com/libgdx/libgdx/wiki/Viewports https://github.com/libgdx/libgdx/wiki/Viewports
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)