我正在制作一款小游戏。
我使用场景切换(具有主游戏的场景和带有一些帮助信息的场景)。所以,我决定使用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);
}