首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确更改屏幕大小

如何正确更改屏幕大小
EN

Stack Overflow用户
提问于 2019-04-29 20:39:24
回答 1查看 59关注 0票数 0

我是libGDX的新手,我想做一个简单的图形界面,但由于缺乏图形编辑器,我很快就发现自己遇到了困难。最后,我在谷歌上找到了Overlap2D,我能够将它包含在我的项目中并运行它。然而,我对这个框架有两个问题:

1)是否被废弃?使用它是可取的,还是很快就会被放弃?

2)我创建了一个包含四个图像的简单屏幕:

https://imgur.com/XeJhIFP

如果我增加屏幕的大小,会发生的情况是,水滴不会根据前面的四个角进行定位,而是保持在原来的位置。

https://imgur.com/fKoimNU

我会把我写的代码贴出来。我该怎么办?

非常感谢

代码语言:javascript
复制
package com.mygdx.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Camera;
import com.badlogic.gdx.graphics.GL20;

import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.PerspectiveCamera;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.FillViewport;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.badlogic.gdx.utils.viewport.StretchViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import com.uwsoft.editor.renderer.SceneLoader;
import com.uwsoft.editor.renderer.resources.ResourceManager;


public class MyGdxGame extends ApplicationAdapter {
    private SceneLoader sceneLoader;
        private ResourceManager rm;
    private Viewport viewport;
    private Camera camera;
    @Override
    public void create () {

        rm = new ResourceManager();
        rm.initAllResources();
    camera = new OrthographicCamera();
    viewport = new ExtendViewport(480 , 800, camera);
    viewport.apply();
    sceneLoader = new SceneLoader(rm);
    sceneLoader.loadScene("MainScene", viewport);
}

@Override
public void render () {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    camera.update();
    sceneLoader.getEngine().update(Gdx.graphics.getDeltaTime());
}

@Override
public void resize(int width, int height) {
    viewport.update(width, height);

}

}

EN

回答 1

Stack Overflow用户

发布于 2019-05-03 18:50:18

1)它被抛弃了吗?使用它是可取的,还是很快就会被放弃?

如果你正在制作一个基于磁贴的游戏,我真的建议你使用磁贴:https://www.mapeditor.org/

overlap2D的进一步开发似乎已经停止,但这不应该成为不使用它的理由。如果你正在制作一个包含不同大小和角度的平台的游戏,可以使用它。

2)我创建了一个包含四个图像的简单屏幕:

您正在使用ExtendViewport。该视口通过在一个方向上扩展世界来保持世界的纵横比。在您的第二张图像中,您可以清楚地看到世界向右延伸。我认为你想要的是使用FitViewport,这将始终保持虚拟屏幕大小的纵横比,同时尽可能地缩放它以适应整个屏幕。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55903598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档