как правильно изменить размер экрана - PullRequest
0 голосов
/ 29 апреля 2019

Я новичок в libGDX и хочу создать простой графический интерфейс, который вскоре оказался в затруднении из-за отсутствия графического редактора. В конце концов я нашел в Google Overlap2D, который смог включить его в свой проект и запустить. Тем не менее, у меня есть два вопроса об этой структуре:

1) Это заброшено? Желательно ли его использовать или он скоро будет заброшен?

2) Я создал простой экран с четырьмя изображениями:

https://imgur.com/XeJhIFP

Если я увеличу размер экрана, то получится, что капли не позиционируются в соответствии с четырьмя предыдущими углами, а остаются там, где они есть.

https://imgur.com/fKoimNU

Я выложу код, который я написал. Как мне быть?

Большое спасибо

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);

}

}

1 Ответ

0 голосов
/ 03 мая 2019

1) Это заброшено? Желательно ли его использовать или он скоро будет заброшен?

Если вы делаете игру на основе тайлов, я бы порекомендовал тайл: https://www.mapeditor.org/

Кажется, что дальнейшее развитие overlap2D остановлено, но это не должно быть причиной, чтобы не использовать его. Используйте это, если вы делаете игру, которая содержит платформы разных размеров и углов.

2) Я создал простой экран с четырьмя изображениями:

Вы используете ExtendViewport. Этот видовой экран поддерживает пропорции мира, поворачивая мир в одном направлении. На вашем втором изображении вы можете ясно видеть, что мир расширяется вправо. Я думаю, что вы хотите, чтобы использовать FitViewport, это всегда будет поддерживать соотношение сторон размера виртуального экрана, при этом масштабируя его как можно больше, чтобы уместить весь экран.

...