Я пытаюсь развить змею игру на устройствах Android, используя Libgdx. Как мы все знаем, игра-змея основана на сетке, которая содержит разные ячейки.размер экрана поддержки libgdx - android
Теперь я разработал первую версию игры. Тем не менее, на рабочем столе это выглядит прекрасно, но в больших Android-устройствах (Galaxy S4, HTC ONE) все объекты выглядят очень маленькими. Кроме того, функциональность игры была «уничтожена».
На рабочем столе игра работает на разрешении 480 пикселей шириной X 800px Height (OrthographicCamera). Я также определил в игровом экране экземпляр класса Viewport и установил его в FillViewPort (когда вызывается метод изменения размера, я обновляю область просмотра).
Очевидно, что все это не сработало. Размер игры по-прежнему искажен.
Как сохранить это фиксированное разрешение, или я делаю масштаб игры и сохраняю это соотношение между пикселями.
P.S Я пытался реализовать все типы видовых, как они описаны в официальном сайте libgdx - https://github.com/libgdx/libgdx/wiki/Viewports
Не помог моей змее игры.
Вот код моего экрана:
package com.david.screens;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.utils.viewport.ExtendViewport;
import com.badlogic.gdx.utils.viewport.FillViewport;
import com.badlogic.gdx.utils.viewport.Viewport;
import com.david.gameworld.GameRenderer;
import com.david.gameworld.GameWorld;
import com.david.helpers.InputHandler;
public class GameScreen implements Screen{
private GameRenderer renderer;
private GameWorld world;
private OrthographicCamera camera;
private Viewport viewport;
public GameScreen() {
world = new GameWorld();
this.camera = new OrthographicCamera();
this.camera.setToOrtho(false, 480, 800);
viewport = new ExtendViewport(480, 800);
renderer = new GameRenderer(world, camera);
Gdx.input.setInputProcessor(new InputHandler(world.getSnake()));
}
@Override
public void render(float delta) {
// TODO Auto-generated method stub
renderer.render(1/delta);
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
viewport.update(width, height);
}
@Override
public void show() {
// TODO Auto-generated method stub
}
@Override
public void hide() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
}
Я уже пробовал это. Он не работает ... ни другие типы просмотра. –
Проверьте примеры видовых экранов, затем –