public class MenuState extends State {
private OrthographicCamera camera;
private Viewport viewport;
private MenuButtons playButton;
public MenuState(GameStateManager gsm, int tryscore, AssetsClass assetsClass, PreferencesHelper preferencesHelper) {
super(gsm);
camera = new OrthographicCamera();
viewport = new FitViewport(ButtonCrash.V_WIDTH, ButtonCrash.V_HEIGHT, camera);
viewport.apply();
playButton = new MenuButtons(assetsClass.getManager().get("mainmenu/button_play.png", Texture.class), 1);
playButton.getButton().setSize(200, 200);
playButton.getButton().setPosition(-100, -100);
}
@Override
protected void handlingInput() {
}
@Override
public void update(float delta) {
camera.update();
}
@Override
public void render(SpriteBatch sb) {
sb.setProjectionMatrix(camera.combined);
sb.begin();
playButton.getButton().draw(sb);
sb.end();
}
@Override
public void dispose() {
}
А также камера работает хорошо, но видовых нет, то, как они не там!
Я фактически скопировал все о коде, я даже пытался в конструкторе:
viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Но кажется, как, потому что я не осуществляет экрана код не работает. Дело в том, что я сделал свою игру без интерфейса «Игра и экран», но сделал свой собственный государственный класс. Что может быть проблемой здесь?
Любые конкретные причины, по которым вы сделали свой собственный государственный класс, когда LibGdx ahs отличный? –
Убедитесь, что вы вызываете viewport.update в методе изменения размера. Похоже, ваш государственный класс нуждается в этом. – Tenfour04
У вас есть метод 'resize()'? –