Boat now used updated textures
This commit is contained in:
@@ -20,12 +20,14 @@ import javafx.scene.image.ImageView;
|
|||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.scene.paint.Material;
|
||||||
import javafx.scene.paint.PhongMaterial;
|
import javafx.scene.paint.PhongMaterial;
|
||||||
import javafx.scene.shape.MeshView;
|
import javafx.scene.shape.MeshView;
|
||||||
import javafx.scene.shape.Shape3D;
|
import javafx.scene.shape.Shape3D;
|
||||||
import mock.app.Event;
|
import mock.app.Event;
|
||||||
import network.Messages.Enums.RaceStatusEnum;
|
import network.Messages.Enums.RaceStatusEnum;
|
||||||
import network.Messages.Enums.RequestToJoinEnum;
|
import network.Messages.Enums.RequestToJoinEnum;
|
||||||
|
import org.apache.commons.codec.language.bm.Rule;
|
||||||
import shared.model.Boat;
|
import shared.model.Boat;
|
||||||
import visualiser.app.App;
|
import visualiser.app.App;
|
||||||
import visualiser.gameController.ControllerClient;
|
import visualiser.gameController.ControllerClient;
|
||||||
@@ -154,6 +156,18 @@ public class InGameLobbyController extends Controller {
|
|||||||
|
|
||||||
animatedPane.add(view3D, 0, 0);
|
animatedPane.add(view3D, 0, 0);
|
||||||
|
|
||||||
|
//add sail
|
||||||
|
Material whiteSail = new PhongMaterial(Color.WHITE);
|
||||||
|
Sails3D sails3D = new Sails3D();
|
||||||
|
Subject3D sailsSubject = new Subject3D(sails3D, 0);
|
||||||
|
sails3D.setMouseTransparent(true);
|
||||||
|
sails3D.setMaterial(whiteSail);
|
||||||
|
sailsSubject.setXRot(0d);
|
||||||
|
sailsSubject.setX(0);
|
||||||
|
sailsSubject.setZ(radius);
|
||||||
|
sailsSubject.setScale(0.1);
|
||||||
|
subjects.add(sailsSubject);
|
||||||
|
|
||||||
AnimationTimer loop = new AnimationTimer() {
|
AnimationTimer loop = new AnimationTimer() {
|
||||||
double angle = -90;
|
double angle = -90;
|
||||||
double offset = 0.05;
|
double offset = 0.05;
|
||||||
@@ -162,6 +176,9 @@ public class InGameLobbyController extends Controller {
|
|||||||
boat.setX(radius * Math.cos(angle * Math.PI/180));
|
boat.setX(radius * Math.cos(angle * Math.PI/180));
|
||||||
boat.setZ(radius * Math.sin(angle * Math.PI/180));
|
boat.setZ(radius * Math.sin(angle * Math.PI/180));
|
||||||
boat.setHeading(-angle);
|
boat.setHeading(-angle);
|
||||||
|
sailsSubject.setX(boat.getX());
|
||||||
|
sailsSubject.setZ(boat.getZ());
|
||||||
|
sailsSubject.setHeading(boat.getHeading().getAngle());
|
||||||
angle += offset;
|
angle += offset;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -20,14 +20,14 @@ import javafx.scene.media.AudioClip;
|
|||||||
import javafx.scene.media.Media;
|
import javafx.scene.media.Media;
|
||||||
import javafx.scene.media.MediaPlayer;
|
import javafx.scene.media.MediaPlayer;
|
||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.scene.paint.Material;
|
||||||
|
import javafx.scene.paint.PhongMaterial;
|
||||||
import javafx.scene.shape.MeshView;
|
import javafx.scene.shape.MeshView;
|
||||||
|
import javafx.scene.shape.Shape3D;
|
||||||
import javafx.stage.Modality;
|
import javafx.stage.Modality;
|
||||||
import mock.exceptions.EventConstructionException;
|
import mock.exceptions.EventConstructionException;
|
||||||
import visualiser.app.App;
|
import visualiser.app.App;
|
||||||
import visualiser.layout.SeaSurface;
|
import visualiser.layout.*;
|
||||||
import visualiser.layout.SkyBox;
|
|
||||||
import visualiser.layout.Subject3D;
|
|
||||||
import visualiser.layout.View3D;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -82,10 +82,13 @@ public class TitleController extends Controller {
|
|||||||
seaSurface.setZ(250);
|
seaSurface.setZ(250);
|
||||||
subjects.add(seaSurface);
|
subjects.add(seaSurface);
|
||||||
|
|
||||||
URL asset = RaceViewController.class.getClassLoader().getResource("assets/V1.2 Complete Boat.stl");
|
// URL asset = RaceViewController.class.getClassLoader().getResource("assets/V1.2 Complete Boat.stl");
|
||||||
StlMeshImporter importer = new StlMeshImporter();
|
// StlMeshImporter importer = new StlMeshImporter();
|
||||||
importer.read(asset);
|
// importer.read(asset);
|
||||||
Subject3D boat = new Subject3D(new MeshView(importer.getImport()), 0);
|
// Subject3D boat = new Subject3D(new MeshView(importer.getImport()), 0);
|
||||||
|
|
||||||
|
Shape3D mesh = Assets3D.getBoat();
|
||||||
|
Subject3D boat = new Subject3D(mesh, 0);
|
||||||
|
|
||||||
double radius = 100;
|
double radius = 100;
|
||||||
boat.setX(0);
|
boat.setX(0);
|
||||||
@@ -95,6 +98,18 @@ public class TitleController extends Controller {
|
|||||||
subjects.add(boat);
|
subjects.add(boat);
|
||||||
view3D.trackSubject(boat, -45);
|
view3D.trackSubject(boat, -45);
|
||||||
|
|
||||||
|
//add sail
|
||||||
|
Material whiteSail = new PhongMaterial(Color.WHITE);
|
||||||
|
Sails3D sails3D = new Sails3D();
|
||||||
|
Subject3D sailsSubject = new Subject3D(sails3D, 0);
|
||||||
|
sails3D.setMouseTransparent(true);
|
||||||
|
sails3D.setMaterial(whiteSail);
|
||||||
|
sailsSubject.setXRot(0d);
|
||||||
|
sailsSubject.setX(0);
|
||||||
|
sailsSubject.setZ(radius);
|
||||||
|
sailsSubject.setScale(0.1);
|
||||||
|
subjects.add(sailsSubject);
|
||||||
|
|
||||||
view3DContainer.add(view3D, 0, 0);
|
view3DContainer.add(view3D, 0, 0);
|
||||||
|
|
||||||
AnimationTimer loop = new AnimationTimer() {
|
AnimationTimer loop = new AnimationTimer() {
|
||||||
@@ -105,6 +120,9 @@ public class TitleController extends Controller {
|
|||||||
boat.setX(radius * Math.cos(angle * Math.PI/180));
|
boat.setX(radius * Math.cos(angle * Math.PI/180));
|
||||||
boat.setZ(radius * Math.sin(angle * Math.PI/180));
|
boat.setZ(radius * Math.sin(angle * Math.PI/180));
|
||||||
boat.setHeading(-angle);
|
boat.setHeading(-angle);
|
||||||
|
sailsSubject.setX(boat.getX());
|
||||||
|
sailsSubject.setZ(boat.getZ());
|
||||||
|
sailsSubject.setHeading(boat.getHeading().getAngle());
|
||||||
angle += offset;
|
angle += offset;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -222,3 +222,7 @@
|
|||||||
-fx-border-width: 3;
|
-fx-border-width: 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#gameTitle .text{
|
||||||
|
-fx-stroke: black;
|
||||||
|
-fx-stroke-width:1px;
|
||||||
|
}
|
||||||
@@ -335,3 +335,8 @@
|
|||||||
-fx-focus-color: transparent;
|
-fx-focus-color: transparent;
|
||||||
-fx-background-color: transparent;
|
-fx-background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#gameTitle .text{
|
||||||
|
-fx-stroke: black;
|
||||||
|
-fx-stroke-width:1px;
|
||||||
|
}
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
<Button fx:id="hostAGameBtn" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#hostAGame" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
<Button fx:id="hostAGameBtn" maxHeight="80.0" maxWidth="200.0" mnemonicParsing="false" onAction="#hostAGame" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||||
<RadioButton fx:id="nightModeRD" mnemonicParsing="false" onAction="#setNightMode" text="Night Mode" textFill="WHITE" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
|
<RadioButton fx:id="nightModeRD" mnemonicParsing="false" onAction="#setNightMode" text="Night Mode" textFill="WHITE" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
|
||||||
<RadioButton fx:id="dayModeRD" mnemonicParsing="false" onAction="#setDayMode" selected="true" text="Day Mode" textFill="WHITE" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
|
<RadioButton fx:id="dayModeRD" mnemonicParsing="false" onAction="#setDayMode" selected="true" text="Day Mode" textFill="WHITE" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="5" />
|
||||||
<Label text="Smooth Sailing" textFill="WHITE" GridPane.columnSpan="2" GridPane.halignment="RIGHT">
|
<Label fx:id="gameTitle" text="Smooth Sailing" textFill="WHITE" GridPane.columnSpan="2" GridPane.halignment="RIGHT">
|
||||||
<font>
|
<font>
|
||||||
<Font name="Futura Medium Italic" size="72.0" />
|
<Font name="Futura Medium Italic" size="72.0" />
|
||||||
</font>
|
</font>
|
||||||
|
|||||||
Reference in New Issue
Block a user