Разница между сценой и экраном libgdx

Я делаю игру, и я вижу в учебниках некоторых людей, использующих класс Stage, и других, использующих класс Screen, но я не могу понять разницу.

Stage содержит экземпляры Actor и обновляет / анимирует их и управляет обнаружением попадания. Его корень API сцены "scene graph" . Этап является одним из способов управления списком объектов для рисования, их состоянием на экране (текстуры, состояние анимации, размер и т. Д.) И их взаимодействие с пользователем. Предоставляемый код этапа в Libgdx в основном ориентирован на элементы пользовательского интерфейса, такие как кнопки и списки, но ядро ​​достаточно гибко, чтобы содержать элементы игры.

Screen обычно представляет собой полноэкранный интерфейс «страница». Например, у вас может быть экран «Главное меню», экран «Параметры», экран «Главная игра» и экран «Конечные кредиты». Экземпляры Screen обычно управляются экземпляром Game . При использовании с Game объекты Screen получат стандартные события жизненного цикла Libgdx как обратные вызовы ( pause , resume , resize , render и т. Д.).

Нет никаких конкретных связей между Stage и Screen в Libgdx. Но проще всего придумать пример, где экран «главного меню» реализуется с помощью этапа, управляющего кнопками в главном меню. Когда пользователь нажимает одну из кнопок, игра может переключиться на основной экран игры и отпустить некоторые ресурсы, удерживаемые главным меню. Экран игры может использовать Stage или использовать исходный OpenGL для реализации игры.