我正在研究libGDX(LWJGL之上的库)游戏项目,并从几个不同的工作站使用Intellij IDEA IDE: 带有两个显示器(1920×1080和1600×1200)的Windows 7 x64笔记本电脑,nVidia GT540M。 英特尔集成显卡(1366×768)的笔记本电脑上的Ubuntu 12.04 LTS。 带有两个显示器(1920×1080和1280×1024)的桌面上的Ubuntu 12.04 LTS,nVidia GTS 450。 我在Ubuntu盒子上使用OpenJDK for Java 6,在Windows上使用Sun / Oracle Java 6(我听说Java 6是用于Android兼容性的)。 全屏运行时: Windows 7笔记本电脑:工作正常。 Ubuntu笔记本电脑:工作正常。 Ubuntu桌面:背景图像放大显示,只有一部分适合在屏幕上。 + 进一步看,我看到Gdx.graphics.getHeight()和Gdx.graphics.getWidth()的调用返回需要覆盖这两个显示矩形的大小,在我的情况下是3200×1080,但是当我告诉我的游戏运行全屏,它只使用其中一个显示器,所以相机设置为1920×1080,但我的相机移动和平铺地图平移认为他们有3200×1080的工作,使事情扭曲和无法使用(因为angular色可以走开屏幕右侧)。 我猜我的问题实际上来自awt.Toolkit的getScreenSize()调用所返回的大小,但是我不知道如何更深入地询问它,以获得当我全屏时实际使用的屏幕大小。 我的DesktopStarter获取屏幕大小并设置全屏,如下所示: LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); cfg.width = screenDimension.width; cfg.height = screenDimension.height; cfg.fullscreen = true; new LwjglApplication(new Game1(), cfg); […]