LibGDX中的屏幕支持(Ios和Android)

时间:2013-10-03 05:35:28

标签: android ios libgdx

我正以800x480的分辨率构建我的游戏。

我想知道如果它在更小或更大的设备上,引擎会自动缩放场景吗?

另外,如何为新的Robovm项目设置默认宽度和高度?

我正在使用Box2D并且不确定屏幕如何支持iphone和android等不同设备的工作。

P.S我知道缩放不是最好的选择,但对于我的情况,它会很好。

3 个答案:

答案 0 :(得分:2)

是的,引擎会缩放它,但为此你必须设置一个视口

你的create方法中的

执行此操作

float scrw = 800;
float scrh = 480;

camera = new OrthographicCamera();
camera.viewportHeight = scrh;
camera.viewportWidth = scrw;

camera.position.set(camera.viewportWidth * .5f,camera.viewportHeight * .5f, 0f);
camera.update();` 

答案 1 :(得分:2)

一条建议,如果你使用的是box2d而不是这种方法,那么你的物理行为会遇到很多问题,因为你的摄像机值很大。例如,Bodies会相互传递而不会碰撞等等东西。

要解决此问题,请使用相机值

 camera.viewportHeight = scrh/40f;
 camera.viewportWidth = scrw/40f;

 camera.position.set(camera.viewportWidth/2f,camera.viewportHeight/2f, 0f);
 camera.update();

`  绘制任何资产时,将其大小设置为原始大小/ 40f  所以世界步数计算将是20,12,而不是800,480和dthus改善你的物理行为。

对于非box2d屏幕,Sandeep的解决方案将始终适用于您。

答案 2 :(得分:0)

是的,你必须在每个屏幕上都这样做......

相关问题