3

我想知道如何使用 MoveToAction (或任何方法)将场景 2d 窗口定位在舞台外。我希望菜单滑入和滑出。
我的舞台和皮肤都存储在我的世界级中。

这些方法现在可以正常工作,但根本没有对其进行动画处理:

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 窗口?

4

1 回答 1

8

尝试这个:

window.setKeepWithinStage(false);

这应该允许窗口移出舞台。

于 2013-11-17T06:16:03.057 回答