animated background for the day
This commit is contained in:
parent
4262fb64dd
commit
737520d5c7
@ -10,9 +10,16 @@ import javafx.util.Duration;
|
|||||||
public class BGAnimation extends Transition {
|
public class BGAnimation extends Transition {
|
||||||
ImageView imageView;
|
ImageView imageView;
|
||||||
private static final Image bgFull = new Image("ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/Day/BG_small.jpg");
|
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;
|
this.imageView = imageView;
|
||||||
|
imageView.setFitHeight(1950);
|
||||||
|
imageView.setFitWidth(6667.968);
|
||||||
|
imageView.setImage(bgFull);
|
||||||
setCycleDuration(duration);
|
setCycleDuration(duration);
|
||||||
setInterpolator(Interpolator.DISCRETE);
|
setInterpolator(Interpolator.DISCRETE);
|
||||||
|
|
||||||
@ -20,6 +27,14 @@ public class BGAnimation extends Transition {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void interpolate(double frac) {
|
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++;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,16 +1,19 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge;
|
package ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge;
|
||||||
|
|
||||||
import ch.unibas.dmi.dbis.cs108.BudaLogConfig;
|
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.ClientModel;
|
||||||
import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.ChatApp;
|
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.LobbyListView;
|
||||||
import ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.TrainAnimationDayController;
|
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.helpers.Protocol;
|
||||||
import ch.unibas.dmi.dbis.cs108.multiplayer.server.JServerProtocolParser;
|
import ch.unibas.dmi.dbis.cs108.multiplayer.server.JServerProtocolParser;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
import javafx.animation.Animation;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
@ -35,6 +38,7 @@ import javafx.scene.control.SplitPane;
|
|||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.control.TitledPane;
|
import javafx.scene.control.TitledPane;
|
||||||
import javafx.scene.control.ToolBar;
|
import javafx.scene.control.ToolBar;
|
||||||
|
import javafx.scene.image.ImageView;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.BorderPane;
|
import javafx.scene.layout.BorderPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
@ -42,6 +46,7 @@ import javafx.scene.layout.VBox;
|
|||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
|
import javafx.util.Duration;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
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 Logger LOGGER = LogManager.getLogger(LoungeSceneViewController.class);
|
||||||
public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
|
public static final BudaLogConfig l = new BudaLogConfig(LOGGER);
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private AnchorPane backGroundAnimationPane;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private AnchorPane backGroundAnchorPane;
|
private AnchorPane backGroundAnchorPane;
|
||||||
@FXML
|
@FXML
|
||||||
@ -154,6 +162,9 @@ public class LoungeSceneViewController implements Initializable {
|
|||||||
LOGGER.debug("cApp = " + cApp);
|
LOGGER.debug("cApp = " + cApp);
|
||||||
LOGGER.debug("chatApp = " + chatApp);
|
LOGGER.debug("chatApp = " + chatApp);
|
||||||
TrainAnimationDayController.setcApp(cApp);
|
TrainAnimationDayController.setcApp(cApp);
|
||||||
|
ImageView bgAnimationView = new ImageView();
|
||||||
|
bgAnimationView.setFitHeight(1950);
|
||||||
|
bgAnimationView.setFitWidth(6667.968);
|
||||||
|
|
||||||
ClientListView.setItems(clients);
|
ClientListView.setItems(clients);
|
||||||
ClientListView.setCellFactory(param -> {
|
ClientListView.setCellFactory(param -> {
|
||||||
@ -324,6 +335,15 @@ public class LoungeSceneViewController implements Initializable {
|
|||||||
};
|
};
|
||||||
return cell;
|
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);
|
LOGGER.debug("In Initialize 3 LobbyListView" + LobbyListView);
|
||||||
LobbyListView.setPlaceholder(new Text("No open lobbies!"));
|
LobbyListView.setPlaceholder(new Text("No open lobbies!"));
|
||||||
LobbyListView.setVisible(true);
|
LobbyListView.setVisible(true);
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
<AnchorPane fx:id="backGroundAnchorPane" pickOnBounds="false" stylesheets="@loungStyle.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.LoungeSceneViewController">
|
<AnchorPane fx:id="backGroundAnchorPane" pickOnBounds="false" stylesheets="@loungStyle.css" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.unibas.dmi.dbis.cs108.multiplayer.client.gui.lounge.LoungeSceneViewController">
|
||||||
<children>
|
<children>
|
||||||
|
<AnchorPane fx:id="backGroundAnimationPane" maxHeight="843.75" maxWidth="1500.0" />
|
||||||
<BorderPane fx:id="LoungeSceneBorderPane" layoutX="860.0" layoutY="440.0" pickOnBounds="false" stylesheets="@boarderPane.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<BorderPane fx:id="LoungeSceneBorderPane" layoutX="860.0" layoutY="440.0" pickOnBounds="false" stylesheets="@boarderPane.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<top>
|
<top>
|
||||||
<ToolBar fx:id="NTtBToolBar" pickOnBounds="false" prefHeight="30.0" BorderPane.alignment="CENTER">
|
<ToolBar fx:id="NTtBToolBar" pickOnBounds="false" prefHeight="30.0" BorderPane.alignment="CENTER">
|
||||||
@ -60,6 +61,6 @@
|
|||||||
<ListView fx:id="LobbyListView" pickOnBounds="false" BorderPane.alignment="CENTER" />
|
<ListView fx:id="LobbyListView" pickOnBounds="false" BorderPane.alignment="CENTER" />
|
||||||
</right>
|
</right>
|
||||||
</BorderPane>
|
</BorderPane>
|
||||||
<AnchorPane fx:id="gameDisplayAnchorPane" layoutY="39.0" pickOnBounds="false" />
|
<AnchorPane fx:id="gameDisplayAnchorPane" maxHeight="843.75" maxWidth="1500.0" pickOnBounds="false" />
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
|||||||
Reference in New Issue
Block a user