Ответ 1
A Stage
содержит Actor
экземпляры и обновляет/анимирует их и управляет обнаружением среди них. Его корень scene2d "графика сцены" API. Этап является одним из способов управления списком объектов для рисования, их состоянием на экране (текстуры, состояние анимации, размер и т.д.) И их взаимодействие с пользователем. Предоставляемый код сцены в Libgdx в основном ориентирован на элементы пользовательского интерфейса, такие как кнопки и списки, но ядро достаточно гибкое, чтобы содержать элементы игры.
A Screen
обычно представляет собой полноэкранный интерфейс "страница". Например, у вас может быть экран "Главное меню", экран "Настройки", экран "Главная игра" и экран "Конечные кредиты". Обычно экземпляры Screen
управляются экземпляром Game
. При использовании с Game
объекты Screen
получат стандартные жизненные события Libgdx как обратные вызовы (pause
, resume
, resize
, render
и т.д.).
В Libgdx нет конкретных отношений между Stage
и Screen
. Но проще всего придумать пример, где экран "главного меню" реализуется с помощью Stage, который управляет кнопками в главном меню. Когда пользователь нажимает одну из кнопок, игра может переключиться на главный экран игры и отпустить некоторые ресурсы, которые хранятся в главном меню. Экран игры может использовать Stage
или использовать исходный OpenGL для реализации игры.