在android中应用程序的不同外观?

时间:2013-05-07 06:44:05

标签: java android eclipse libgdx

我正在用libgdx开发游戏。我有一个三星注入4g,我的电脑中的游戏看起来很大,但在我的手机中看起来像我想要的样子。

但是当我在eclipse上的android机器模拟器上运行应用程序时,它看起来像在我的电脑上:大

我正在使用API​​_7,我不明白为什么。我的角色大小是128px,64px。我正在使用宽边,当我使用libgdx创建舞台时,我把它放了。

stage = new Stage(Gdx.graphics.getWidth(),Gdx.graphics.getHeight(),true);

1 个答案:

答案 0 :(得分:1)

如果Resoltion更高,你的角色会变小,因为你的舞台总是有最大分辨率,但你的角色仍然保持其大小。例如,在调整大小时调整角色和舞台的大小,它应该看起来相同。此外,您需要提供更多信息,以便我们提供帮助

一个小例子。如果您的分辨率为1280x640,那么您的字符将是屏幕的10%对吗?现在想象的分辨率将是640x320。你的角色将是屏幕的20%。所以你需要让它变小,以便在较小的屏幕上具有相同的比例。

在较大的一个中,你需要以相同的比例使它变大。使用

    @Override
    public void resize(int width, int height) {
..... //resize here depending on the width and the height
    }
在屏幕上

调整大小。我建议你使用OrthographicCamera你给你的舞台stage.setCamera(cam);。所以你只需要在调整大小时更改camera viewport,你的舞台就是合适的。但要跟踪aspect_ratio



您甚至可以开始使用固定分辨率。因此,您可以使用分辨率,其余部分由相机的zoom完成。
要获得固定分辨率,您可以使用相机进行放大和缩小,以便始终在screen上获得整个分辨率。这取决于您的屏幕分辨率。因此,如果分辨率较小(显示游戏的屏幕),则缩小以显示整个游戏区域。否则你放大直到在视口边缘有一条边。(这似乎是很难的东西)好的,看起来怎么样?

    @Override
    public void resize(int width, int height) {
        Gdx.app.log("Screen", "Resize screen: " + getName());
        cam.viewportHeight = height;
        cam.viewportWidth = width;
        if (Config.VIRTUAL_VIEW_WIDTH / cam.viewportWidth < Config.VIRTUAL_VIEW_HEIGHT
                / cam.viewportHeight) {
            cam.zoom = Config.VIRTUAL_VIEW_HEIGHT / cam.viewportHeight;
        } else {
            cam.zoom = Config.VIRTUAL_VIEW_WIDTH / cam.viewportWidth;
        }
        cam.update(); // update it ;)
    }

这实际上就是一切。 VIRTUAL_VIEW_WIDTHVIRTUAL_VIEW_HEIGHTpx中的分辨率,我在游戏中使用该分辨率。小心使用合适的相机。所以这是我给我的舞台的相机。


你可以看看blog。他确实解释了你需要了解的关于Sceen2d的一切以及如何调整大小等等。