JavaFX 2.如何停止或暂停所有动画?

时间:2014-12-30 16:32:01

标签: javafx

我正在制作一款小游戏。

我使用场景切换(具有主游戏的场景和带有一些帮助信息的场景)。所以,我决定使用HashMap场景并在那里设置所有场景。然后点击按钮"帮助"导致场景切换。

但我有一个问题。我想在非活动场景上停止所有动画,目前我只是将场景设置为NULL。我知道这是非常糟糕的实现。

有人可以帮助我并解释如何在场景中暂停或停止所有动画吗?

在primaryStage上设置场景:

public static void setSceneToStage(String sceneId, Stage stage) {

    SceneCollection.instance().clearCurrentActiveScene();
    SceneCollection.instance().setNewActiveScene(sceneId);
    stage.setScene(SceneCollection.instance().getScene(sceneId));
    stage.setTitle(sceneId);
}

清除非活动场景:

public void clearCurrentActiveScene() {

    if(activeScene != null) {
        scenes.get(activeScene).clearScene();
    }
}

public void clearScene() {
    scene = null;
}

初始化新场景:

public void setNewActiveScene(String sceneId) {

    activeScene = sceneId;
    scenes.get(sceneId).init();
}

public void init() {
    scene = new Scene(new Pane(), 300, 300);
}

0 个答案:

没有答案