Окно позиции libgdx вне сцены

Мне интересно, как использовать MoveToAction (или любой другой метод) для позиционирования окна scene2d за пределами сцены. Я хочу, чтобы меню скользило и выходило.
Моя сцена и моя кожа хранятся в моем мировом классе.

Эти методы пока работают нормально, но не оживляют их:

Window window = new Window("NoteBook", world.skin);
    ...

public void closeBook() {
    window.remove();
}

public void openBook() {
    world.stage.addActor(window);
}

Вот как я пытаюсь обновить эти функции, чтобы разрешить анимацию. Здесь окна уже добавляются на сцену один раз во время инициализации, поэтому эти методы обрабатывают только анимацию.

public void closeBook() {
    MoveToAction action = new MoveToAction();
    action.setPosition(-200, -200);         // somewhere off screen
    action.setDuration(0.5f);
    window.addAction(action);
}

public void openBook() {
    MoveToAction action = new MoveToAction();
    action.setPosition(0, 0);           // original location
    action.setDuration(0.5f);
    window.addAction(action);
}

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

Итак, вопрос в том, как мне расположить окно scene2d снаружи (или, казалось бы, снаружи) сцены?

1 ответ

Решение

Попробуй это:

window.setKeepWithinStage(false);

Что должно позволить окну выйти за пределы сцены.

Другие вопросы по тегам