我有一个简单的游戏,允许用户通过墙跳跃垂直移动,其中墙的边界由屏幕的左侧和右侧定义。我正在测试的物理设备是LG G2,分辨率为1920x1080。我还在分辨率为800x480的虚拟设备上进行测试。
我的问题是游戏无法在两个设备之间进行缩放。当玩家从左向右跳入抛物线弧时,较小的显示器比较大的显示器花费的时间更少,因为它们不会缩放,实际上,资产的尺寸是较小分辨率的两倍。
我按照以下方式实例化我的相机和视口:
...
camera = new OrthographicCamera(480, 800);
viewport = new StretchViewport(9, 16, camera);
...
...但无论我选择哪个视口或相机,似乎都没有缩放显示器。我做错了什么?
修改
我的create()
现在看起来像这样:
...
camera = new OrthographicCamera(1, screenHeight/screenWidth);
camera.position.set(0, 0, 0);
camera.update();
viewport = new ExtendViewport(100, 200, camera);
...
我的render()
现在看起来像这样:
spriteBatch.setProjectionMatrix(camera.combined);
我现在遇到的问题是屏幕上似乎没有任何内容。我认为相机处于正确的位置,因为正在绘制的东西,我只是无法看到它们。当我在调试时检查各种值时,游戏正常播放。有什么想法吗?