java - 调整舞台和相机的大小

标签 java android libgdx android-screen-support

我在 libgdx 中调整大小的方法有问题,当我在我的手机上运行我的游戏时一切正常,但是当我在另一部更大的手机上运行游戏时一切都变小而且看起来很糟糕。

这是我调整大小的方法:

@Override
public void resize(int width, int height) {

    ...

    camera.viewportHeight = height /  1.1f;
    camera.viewportWidth = width / 1.1f;



    stage.setViewport(width, height, true);

        table.invalidateHierarchy();
        table.setSize(width, height);
        table2.invalidateHierarchy();
        table2.setSize(width, height);
        table3.invalidateHierarchy(); 
        table3.setSize(width, height);
        table4.invalidateHierarchy();
        table4.setSize(width, height);

}

而且这种方法只会产生不好的效果。 我该如何解决这个问题?

最佳答案

完美题介绍Viewport今天已添加。

视口(viewport)是专门为解决这个问题而设计的。看看this newsthe wiki page看看它们是如何工作的。

但是,这些仅在夜间构建中可用。

你现在实际上在做的是自己实现“ScreenViewport”,它总是保持屏幕的大小,这不会导致拉伸(stretch),但它会或多或少地显示你的世界。

您可能正在寻找的是 FitViewport 或者 StretchViewport。这些为您提供了一个虚拟屏幕尺寸,并将缩放以适合您的屏幕。

关于java - 调整舞台和相机的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545396/

相关文章:

android - 在 Eclipse 中打开 LibGDX 项目(ADT bundle )

android - 无法在已安装google Repository和正确的Android SDK路径的情况下将GooglePlayServices添加到IntelliJIdea上的libGDX项目

java - 为什么 libgdx SpriteBatch/BitmapFont 会破坏 Texture.bind?

java - 在 JavaCV 的 CanvasFrame 上显示一个组件

java - 如何访问aspectj中的私有(private)变量

安卓 : Show quick preview (live) before exporting FFmpeg Video

java - 仅用作对话框窗口的 Android 应用程序

Java使用Possion/Gaussian/Exponential/Geometric/Uniform distribution生成随机数

java - 服务器发送事件 Spring Webflux 返回事件名称以响应其余 Controller

android - 即使从设置中打开权限后,Settings.canDrawOverlays 仍返回 false