diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/ContainerAnimations.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/ContainerAnimations.java index 31874beee..7a358f10e 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/ContainerAnimations.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/ContainerAnimations.java @@ -52,30 +52,35 @@ public enum ContainerAnimations { c.getPreviousNode().setTranslateY(0); c.getPreviousNode().setScaleX(1); c.getPreviousNode().setScaleY(1); + c.getPreviousNode().setOpacity(1); c.getCurrentNode().setTranslateX(0); c.getCurrentNode().setTranslateY(0); c.getCurrentNode().setScaleX(1); c.getCurrentNode().setScaleY(1); + c.getCurrentNode().setOpacity(0); }, c -> Arrays.asList(new KeyFrame(Duration.ZERO, - new KeyValue(c.getPreviousNode().opacityProperty(), 1.0D, Interpolator.EASE_BOTH), - new KeyValue(c.getCurrentNode().opacityProperty(), 0.0D, Interpolator.EASE_BOTH)), + new KeyValue(c.getPreviousNode().opacityProperty(), 1, Interpolator.EASE_BOTH), + new KeyValue(c.getCurrentNode().opacityProperty(), 0, Interpolator.EASE_BOTH)), new KeyFrame(c.getDuration(), - new KeyValue(c.getPreviousNode().opacityProperty(), 0.0D, Interpolator.EASE_BOTH), - new KeyValue(c.getCurrentNode().opacityProperty(), 1.0D, Interpolator.EASE_BOTH)))), + new KeyValue(c.getPreviousNode().opacityProperty(), 0, Interpolator.EASE_BOTH), + new KeyValue(c.getCurrentNode().opacityProperty(), 1, Interpolator.EASE_BOTH)))), /** * A zoom effect */ ZOOM_IN(c -> { c.getPreviousNode().setTranslateX(0); c.getPreviousNode().setTranslateY(0); + c.getPreviousNode().setScaleX(1); + c.getPreviousNode().setScaleY(1); + c.getPreviousNode().setOpacity(1); c.getCurrentNode().setTranslateX(0); c.getCurrentNode().setTranslateY(0); }, c -> Arrays.asList(new KeyFrame(Duration.ZERO, new KeyValue(c.getPreviousNode().scaleXProperty(), 1, Interpolator.EASE_BOTH), new KeyValue(c.getPreviousNode().scaleYProperty(), 1, Interpolator.EASE_BOTH), - new KeyValue(c.getPreviousNode().opacityProperty(), 1.0D, Interpolator.EASE_BOTH)), + new KeyValue(c.getPreviousNode().opacityProperty(), 1, Interpolator.EASE_BOTH)), new KeyFrame(c.getDuration(), new KeyValue(c.getPreviousNode().scaleXProperty(), 4, Interpolator.EASE_BOTH), new KeyValue(c.getPreviousNode().scaleYProperty(), 4, Interpolator.EASE_BOTH), @@ -86,13 +91,16 @@ public enum ContainerAnimations { ZOOM_OUT(c -> { c.getPreviousNode().setTranslateX(0); c.getPreviousNode().setTranslateY(0); + c.getPreviousNode().setScaleX(1); + c.getPreviousNode().setScaleY(1); + c.getPreviousNode().setOpacity(1); c.getCurrentNode().setTranslateX(0); c.getCurrentNode().setTranslateY(0); }, c -> (Arrays.asList(new KeyFrame(Duration.ZERO, new KeyValue(c.getPreviousNode().scaleXProperty(), 1, Interpolator.EASE_BOTH), new KeyValue(c.getPreviousNode().scaleYProperty(), 1, Interpolator.EASE_BOTH), - new KeyValue(c.getPreviousNode().opacityProperty(), 1.0D, Interpolator.EASE_BOTH)), + new KeyValue(c.getPreviousNode().opacityProperty(), 1, Interpolator.EASE_BOTH)), new KeyFrame(c.getDuration(), new KeyValue(c.getPreviousNode().scaleXProperty(), 0, Interpolator.EASE_BOTH), new KeyValue(c.getPreviousNode().scaleYProperty(), 0, Interpolator.EASE_BOTH), @@ -104,9 +112,11 @@ public enum ContainerAnimations { c.getPreviousNode().setScaleX(1); c.getPreviousNode().setScaleY(1); c.getPreviousNode().setOpacity(0); + c.getPreviousNode().setTranslateX(0); c.getCurrentNode().setScaleX(1); c.getCurrentNode().setScaleY(1); c.getCurrentNode().setOpacity(1); + c.getCurrentNode().setTranslateX(c.getCurrentRoot().getWidth()); }, c -> Arrays.asList(new KeyFrame(Duration.ZERO, new KeyValue(c.getCurrentNode().translateXProperty(), c.getCurrentRoot().getWidth(), Interpolator.EASE_BOTH), @@ -122,9 +132,11 @@ public enum ContainerAnimations { c.getPreviousNode().setScaleX(1); c.getPreviousNode().setScaleY(1); c.getPreviousNode().setOpacity(0); + c.getPreviousNode().setTranslateX(0); c.getCurrentNode().setScaleX(1); c.getCurrentNode().setScaleY(1); c.getCurrentNode().setOpacity(1); + c.getCurrentNode().setTranslateX(-c.getCurrentRoot().getWidth()); }, c -> Arrays.asList(new KeyFrame(Duration.ZERO, new KeyValue(c.getCurrentNode().translateXProperty(), -c.getCurrentRoot().getWidth(), Interpolator.EASE_BOTH),