diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java index 99e8996..335a8bc 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/BGAnimation.java @@ -10,9 +10,16 @@ import javafx.util.Duration; public class BGAnimation extends Transition { ImageView imageView; private static final Image bgFull = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/BG_small.jpg"); + int index; + int lastIndex; - BGAnimation(Duration duration, ImageView imageView) { + public BGAnimation(Duration duration, ImageView imageView) { + index = 0; + lastIndex = 1034; this.imageView = imageView; + imageView.setFitHeight(1950); + imageView.setFitWidth(6667.968); + imageView.setImage(bgFull); setCycleDuration(duration); setInterpolator(Interpolator.DISCRETE); @@ -20,6 +27,14 @@ public class BGAnimation extends Transition { @Override protected void interpolate(double frac) { + if(index == lastIndex) { + index = 0; + imageView.setX(0); + imageView.setY(0); + } + imageView.setX(index * -5); + imageView.setY(index * -1.07); + index++; } } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java index 80d1370..8ad72d7 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java @@ -1,16 +1,19 @@ package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge; import ch.unibas.dmi.dbis.cs108.BudaLogConfig; +import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.BGAnimation; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.ClientModel; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.ChatApp; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.LobbyListView; import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.TrainAnimationDayController; +import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.WheelsAnimation; import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.Protocol; import ch.unibas.dmi.dbis.cs108.multiplayer.server.JServerProtocolParser; import java.net.URL; import java.util.HashMap; import java.util.Iterator; import java.util.ResourceBundle; +import javafx.animation.Animation; import javafx.application.Application; import javafx.application.Platform; import javafx.beans.property.SimpleBooleanProperty; @@ -35,6 +38,7 @@ import javafx.scene.control.SplitPane; import javafx.scene.control.TextField; import javafx.scene.control.TitledPane; import javafx.scene.control.ToolBar; +import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; @@ -42,6 +46,7 @@ import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.text.Text; import javafx.scene.text.TextFlow; +import javafx.util.Duration; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -50,6 +55,9 @@ public class LoungeSceneViewController implements Initializable { public static final Logger LOGGER = LogManager.getLogger(LoungeSceneViewController.class); public static final BudaLogConfig l = new BudaLogConfig(LOGGER); + @FXML + private AnchorPane backGroundAnimationPane; + @FXML private AnchorPane backGroundAnchorPane; @FXML @@ -154,6 +162,9 @@ public class LoungeSceneViewController implements Initializable { LOGGER.debug("cApp = " + cApp); LOGGER.debug("chatApp = " + chatApp); TrainAnimationDayController.setcApp(cApp); + ImageView bgAnimationView = new ImageView(); + bgAnimationView.setFitHeight(1950); + bgAnimationView.setFitWidth(6667.968); ClientListView.setItems(clients); ClientListView.setCellFactory(param -> { @@ -324,6 +335,15 @@ public class LoungeSceneViewController implements Initializable { }; return cell; }); + Platform.runLater(new Runnable() { + @Override + public void run() { + backGroundAnimationPane.getChildren().add(bgAnimationView); + Animation backGround = new BGAnimation(Duration.millis(17), bgAnimationView); + backGround.setCycleCount(Animation.INDEFINITE); + backGround.play(); + } + }); LOGGER.debug("In Initialize 3 LobbyListView" + LobbyListView); LobbyListView.setPlaceholder(new Text("No open lobbies!")); LobbyListView.setVisible(true); diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml index 94bd0c2..e313302 100644 --- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml +++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml @@ -12,6 +12,7 @@ + @@ -60,6 +61,6 @@ - +