Для тех, у кого похожие проблемы с игровыми экранами:
пример (я напишу только необходимый код для проблемы, а не все, что должно быть там):
У нас есть Main класс, который мы используем в качестве родительского для всех других экранов.
public class Main extends Game {
public GameScreen gameScreen;
public void create(){
gameScreen = new GameScreen(this);
setScreen(gameScreen);
}
}
Итак, у нас запущен gameScreen, но его pause () и dispose () не будут работать. Это потому, что gameClass "фактически" является главным классом (просто для более простого описания). Методы pause () и dispose (), которые будут вызваны, являются основными. Поэтому методы из parent (Main) будут переопределять методы gameScreen.
Надеюсь, это кому-нибудь поможет