aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-10-25 12:31:45 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-10-25 12:31:45 -0400
commitc3a6d12a9fdd10c27eb4772d546be49915842912 (patch)
tree4baf863cf6abf9b79ecdf718079133677ea02c7d
parent28ade1fce71064db5c95a0d69fe94e3097042e36 (diff)
downloadNPEhero-c3a6d12a9fdd10c27eb4772d546be49915842912.tar.gz
NPEhero-c3a6d12a9fdd10c27eb4772d546be49915842912.tar.bz2
NPEhero-c3a6d12a9fdd10c27eb4772d546be49915842912.zip
refactor score count animation
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/gui/GameOver.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/main/java/net/sowgro/npehero/gui/GameOver.java b/src/main/java/net/sowgro/npehero/gui/GameOver.java
index 1ddeb4c..9058aad 100755
--- a/src/main/java/net/sowgro/npehero/gui/GameOver.java
+++ b/src/main/java/net/sowgro/npehero/gui/GameOver.java
@@ -27,11 +27,11 @@ public class GameOver extends Page
{
private final Label yourScore;
HBox content = new HBox();
- ScoreController score2;
+ ScoreController scoreController;
- public GameOver(Level level, Difficulty diff, Page prev, ScoreController score2)
+ public GameOver(Level level, Difficulty diff, Page prev, ScoreController scoreController)
{
- this.score2 = score2;
+ this.scoreController = scoreController;
Label topText = new Label();
topText.setText("LEVEL COMPLETE");
@@ -87,7 +87,7 @@ public class GameOver extends Page
save.setDisable(true);
name.setDisable(true);
try {
- diff.leaderboard.add(name.getText(), score2.score.get());
+ diff.leaderboard.add(name.getText(), scoreController.score.get());
} catch (IOException e) {
Driver.setMenu(new ErrorDisplay("Failed to save score to leaderboard", e, this));
}
@@ -137,16 +137,18 @@ public class GameOver extends Page
public void onView() {
// score count up animation
Timeline tl = new Timeline();
- int stepSize = score2.score.get() / 20;
- for (int i = 1; i <= 20; i++) {
- int i1 = i;
+ int stepCount = 20;
+ int stepSize = scoreController.score.get() / stepCount;
+ double stepDuration = 1.0 / stepCount;
+ for (int i = 1; i <= stepCount; i++) {
+ int i2 = i;
tl.getKeyFrames().add(new KeyFrame(
- Duration.seconds(i / 20.0 + 0.5),
- _ -> yourScore.setText(i1 * stepSize + "")
+ Duration.seconds(i * stepDuration + 0.5),
+ _ -> yourScore.setText(i2 * stepSize + "")
));
}
tl.play();
-
+ tl.setOnFinished(_ -> yourScore.setText(scoreController.score.get() + ""));
}
@Override