Added a new hud for the race view
#story[1301]
@@ -1,9 +1,7 @@
|
|||||||
package visualiser.Controllers;
|
package visualiser.Controllers;
|
||||||
|
|
||||||
import com.interactivemesh.jfx.importer.stl.StlMeshImporter;
|
import com.interactivemesh.jfx.importer.stl.StlMeshImporter;
|
||||||
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
|
|
||||||
import eu.hansolo.medusa.*;
|
import eu.hansolo.medusa.*;
|
||||||
import eu.hansolo.medusa.events.UpdateEvent;
|
|
||||||
import javafx.animation.AnimationTimer;
|
import javafx.animation.AnimationTimer;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
@@ -305,7 +303,7 @@ public class RaceViewController extends Controller {
|
|||||||
*/
|
*/
|
||||||
fGauge = FGaugeBuilder
|
fGauge = FGaugeBuilder
|
||||||
.create()
|
.create()
|
||||||
.prefSize(200, 200)
|
.prefSize(190, 190)
|
||||||
.gauge(gauge)
|
.gauge(gauge)
|
||||||
.gaugeDesign(GaugeDesign.METAL)
|
.gaugeDesign(GaugeDesign.METAL)
|
||||||
.gaugeBackground(GaugeDesign.GaugeBackground.CARBON)
|
.gaugeBackground(GaugeDesign.GaugeBackground.CARBON)
|
||||||
@@ -939,6 +937,7 @@ public class RaceViewController extends Controller {
|
|||||||
raceCanvas.heightProperty().bind(canvasBase1.heightProperty());
|
raceCanvas.heightProperty().bind(canvasBase1.heightProperty());
|
||||||
|
|
||||||
raceCanvas.setFullScreen(false);
|
raceCanvas.setFullScreen(false);
|
||||||
|
raceCanvas.setOpacity(1);
|
||||||
|
|
||||||
canvasBase.getChildren().remove(raceCanvas);
|
canvasBase.getChildren().remove(raceCanvas);
|
||||||
canvasBase1.getChildren().add(0, raceCanvas);
|
canvasBase1.getChildren().add(0, raceCanvas);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 803 KiB After Width: | Height: | Size: 910 KiB |
|
After Width: | Height: | Size: 549 KiB |
|
Before Width: | Height: | Size: 979 KiB After Width: | Height: | Size: 911 KiB |
|
After Width: | Height: | Size: 682 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -1,49 +1,64 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
<?import javafx.scene.control.Label?>
|
<?import javafx.scene.control.Label?>
|
||||||
<?import javafx.scene.image.Image?>
|
<?import javafx.scene.image.Image?>
|
||||||
<?import javafx.scene.image.ImageView?>
|
<?import javafx.scene.image.ImageView?>
|
||||||
<?import javafx.scene.layout.*?>
|
<?import javafx.scene.layout.ColumnConstraints?>
|
||||||
|
<?import javafx.scene.layout.GridPane?>
|
||||||
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
|
<?import javafx.scene.layout.StackPane?>
|
||||||
<?import javafx.scene.shape.Circle?>
|
<?import javafx.scene.shape.Circle?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
<GridPane fx:id="arrowGridPane" maxHeight="-Infinity" maxWidth="-Infinity" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="visualiser.Controllers.ArrowController">
|
|
||||||
|
<GridPane fx:id="arrowGridPane" maxHeight="-Infinity" maxWidth="-Infinity" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="visualiser.Controllers.ArrowController">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
||||||
<rowConstraints>
|
<rowConstraints>
|
||||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
<RowConstraints minHeight="20.0" vgrow="SOMETIMES" />
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
<RowConstraints minHeight="10.0" prefHeight="60.0" vgrow="SOMETIMES" />
|
||||||
</rowConstraints>
|
</rowConstraints>
|
||||||
<children>
|
<children>
|
||||||
<Pane fx:id="compass" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="125.0" prefWidth="125.0">
|
<GridPane GridPane.rowIndex="1">
|
||||||
|
<columnConstraints>
|
||||||
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||||
|
</columnConstraints>
|
||||||
|
<rowConstraints>
|
||||||
|
<RowConstraints minHeight="50.0" vgrow="SOMETIMES" />
|
||||||
|
</rowConstraints>
|
||||||
<children>
|
<children>
|
||||||
<StackPane fx:id="arrowStackPane" prefHeight="125.0" prefWidth="125.0">
|
<StackPane fx:id="arrowStackPane" prefHeight="50.0" prefWidth="50.0">
|
||||||
<children>
|
<children>
|
||||||
<ImageView fx:id="arrowImage" fitHeight="75.0" fitWidth="75.0">
|
<ImageView fx:id="arrowImage" fitHeight="30.0" fitWidth="30.0" StackPane.alignment="CENTER">
|
||||||
<image>
|
<image>
|
||||||
<Image url="@../images/arrow.png" />
|
<Image url="@../images/arrow.png" />
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
|
<Circle fx:id="circle" fill="#1f93ff00" radius="30.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="3.0" StackPane.alignment="TOP_LEFT" />
|
||||||
</children>
|
</children>
|
||||||
</StackPane>
|
</StackPane>
|
||||||
<Circle fx:id="circle" fill="#1f93ff00" layoutX="63.0" layoutY="63.0" radius="60.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="3.0" />
|
<Label fx:id="northLabel" text="N" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||||
<Label fx:id="northLabel" layoutX="55.0" layoutY="1.0" text="N">
|
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="18.0" />
|
<Font name="System Bold" size="10.0" />
|
||||||
</font>
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets top="5.0" />
|
||||||
|
</padding>
|
||||||
</Label>
|
</Label>
|
||||||
<Label fx:id="windLabel" layoutX="42.0" layoutY="95.0" text="Wind">
|
<Label fx:id="windLabel" text="Wind" GridPane.halignment="CENTER" GridPane.valignment="BOTTOM">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="16.0" />
|
<Font name="System Bold" size="9.0" />
|
||||||
</font>
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets bottom="5.0" />
|
||||||
|
</padding>
|
||||||
</Label>
|
</Label>
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</GridPane>
|
||||||
<Label fx:id="speedLabel" text="SPEED" GridPane.halignment="CENTER" GridPane.hgrow="NEVER" GridPane.rowIndex="1">
|
<Label fx:id="speedLabel" text="SPEED" GridPane.halignment="CENTER" GridPane.hgrow="NEVER" GridPane.valignment="TOP">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="16.0" />
|
<Font name="System Bold" size="10.0" />
|
||||||
</font>
|
</font>
|
||||||
<GridPane.margin>
|
<GridPane.margin>
|
||||||
<Insets />
|
<Insets />
|
||||||
|
|||||||
@@ -81,16 +81,16 @@
|
|||||||
</Accordion>
|
</Accordion>
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
<ImageView fitHeight="250.0" fitWidth="272.0" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="0.0" AnchorPane.rightAnchor="1.0">
|
<ImageView fitHeight="250.0" fitWidth="272.0" mouseTransparent="true" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="0.0" AnchorPane.rightAnchor="1.0">
|
||||||
<image>
|
<image>
|
||||||
<Image url="@../../images/raceViewUI_LowerRight.png" />
|
<Image url="@../../images/raceViewUI_LowerRight.png" />
|
||||||
</image>
|
</image>
|
||||||
</ImageView>
|
</ImageView>
|
||||||
<Label fx:id="timer" alignment="CENTER" maxHeight="20.0" text="0:0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<ImageView fitHeight="250.0" fitWidth="272.0" layoutX="10.0" layoutY="10.0" mouseTransparent="true" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0">
|
||||||
<font>
|
<image>
|
||||||
<Font name="System Bold" size="15.0" />
|
<Image url="@../../images/raceViewUI_LowerLeft.png" />
|
||||||
</font>
|
</image>
|
||||||
</Label>
|
</ImageView>
|
||||||
<Label fx:id="FPS" mouseTransparent="true" text="FPS: 0" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<Label fx:id="FPS" mouseTransparent="true" text="FPS: 0" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<font>
|
<font>
|
||||||
<Font name="System Bold" size="15.0" />
|
<Font name="System Bold" size="15.0" />
|
||||||
@@ -104,21 +104,16 @@
|
|||||||
<Font name="System Bold" size="15.0" />
|
<Font name="System Bold" size="15.0" />
|
||||||
</font>
|
</font>
|
||||||
</Label>
|
</Label>
|
||||||
<StackPane fx:id="arrowPane" alignment="TOP_RIGHT" mouseTransparent="true" prefHeight="150.0" prefWidth="150.0" snapToPixel="false" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
|
||||||
<children>
|
|
||||||
<fx:include fx:id="arrow" source="arrow.fxml" />
|
|
||||||
</children>
|
|
||||||
</StackPane>
|
|
||||||
<Label fx:id="tutorialText" alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" style="-fx-border-color: orange; -fx-border-radius: 5px; -fx-background-color: #ffffcc; -fx-text-fill: #3399ff; -fx-border-width: 3; -fx-border-insets: -3;" text="This is the tutorial text" visible="false" AnchorPane.leftAnchor="150.0" AnchorPane.rightAnchor="150.0" AnchorPane.topAnchor="100.0" />
|
<Label fx:id="tutorialText" alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" style="-fx-border-color: orange; -fx-border-radius: 5px; -fx-background-color: #ffffcc; -fx-text-fill: #3399ff; -fx-border-width: 3; -fx-border-insets: -3;" text="This is the tutorial text" visible="false" AnchorPane.leftAnchor="150.0" AnchorPane.rightAnchor="150.0" AnchorPane.topAnchor="100.0" />
|
||||||
<StackPane fx:id="speedPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="5.0" AnchorPane.rightAnchor="5.0">
|
<StackPane fx:id="speedPane" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="14.0" AnchorPane.rightAnchor="2.0">
|
||||||
<padding>
|
<padding>
|
||||||
<Insets right="20.0" />
|
<Insets right="20.0" />
|
||||||
</padding></StackPane>
|
</padding></StackPane>
|
||||||
<AnchorPane maxHeight="200.0" maxWidth="200.0" mouseTransparent="true" opacity="0.6" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0">
|
<AnchorPane maxHeight="145.0" maxWidth="145.0" minHeight="145.0" minWidth="145.0" mouseTransparent="true" prefHeight="145.0" prefWidth="145.0" AnchorPane.bottomAnchor="30.0" AnchorPane.leftAnchor="30.0">
|
||||||
<children>
|
<children>
|
||||||
<AnchorPane maxHeight="200.0" maxWidth="200.0" prefHeight="200.0" prefWidth="216.0">
|
<AnchorPane maxHeight="145.0" maxWidth="145.0" minHeight="145.0" minWidth="145.0" prefHeight="145.0" prefWidth="145.0">
|
||||||
<children>
|
<children>
|
||||||
<GridPane fx:id="canvasBase1" maxHeight="200.0" maxWidth="200.0" prefHeight="200.0" prefWidth="216.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<GridPane fx:id="canvasBase1" maxHeight="145.0" maxWidth="145.0" minHeight="145.0" minWidth="145.0" prefHeight="145.0" prefWidth="145.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
||||||
@@ -212,6 +207,32 @@
|
|||||||
</GridPane>
|
</GridPane>
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
|
<ImageView fitHeight="150.0" fitWidth="200.0" focusTraversable="true" mouseTransparent="true" pickOnBounds="true" preserveRatio="true" StackPane.alignment="BOTTOM_CENTER">
|
||||||
|
<image>
|
||||||
|
<Image url="@../../images/raceViewUI_LowerMiddle.png" />
|
||||||
|
</image>
|
||||||
|
</ImageView>
|
||||||
|
<ImageView fitHeight="115.0" fitWidth="255.0" mouseTransparent="true" pickOnBounds="true" preserveRatio="true" StackPane.alignment="TOP_CENTER">
|
||||||
|
<image>
|
||||||
|
<Image url="@../../images/raceViewUI_UpperMiddle.png" />
|
||||||
|
</image>
|
||||||
|
</ImageView>
|
||||||
|
<StackPane fx:id="arrowPane" alignment="TOP_CENTER" mouseTransparent="true" prefHeight="150.0" prefWidth="150.0" snapToPixel="false" StackPane.alignment="TOP_CENTER">
|
||||||
|
<children>
|
||||||
|
<fx:include fx:id="arrow" source="arrow.fxml" />
|
||||||
|
</children>
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" top="5.0" />
|
||||||
|
</padding>
|
||||||
|
</StackPane>
|
||||||
|
<Label fx:id="timer" alignment="CENTER" maxHeight="20.0" mouseTransparent="true" text="0:0" StackPane.alignment="TOP_CENTER">
|
||||||
|
<font>
|
||||||
|
<Font size="9.0" />
|
||||||
|
</font>
|
||||||
|
<padding>
|
||||||
|
<Insets top="101.0" />
|
||||||
|
</padding>
|
||||||
|
</Label>
|
||||||
</children>
|
</children>
|
||||||
</StackPane>
|
</StackPane>
|
||||||
</items>
|
</items>
|
||||||
|
|||||||