From 3a9a240e7d44490f7021db2768d8779a0593c3d9 Mon Sep 17 00:00:00 2001 From: ZIRTR0X <76250995+ZIRTR0X@users.noreply.github.com> Date: Wed, 19 Jan 2022 14:27:56 +0100 Subject: [PATCH] =?UTF-8?q?Correction=20d=C3=A9placement=20personnage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ajout d'un thread --- code/src/controller/GamePlayController.java | 115 ++++++++++++-------- 1 file changed, 69 insertions(+), 46 deletions(-) diff --git a/code/src/controller/GamePlayController.java b/code/src/controller/GamePlayController.java index 33412df..e3431a2 100644 --- a/code/src/controller/GamePlayController.java +++ b/code/src/controller/GamePlayController.java @@ -36,6 +36,8 @@ public class GamePlayController implements Initializable { MapController mapController = new MapController(); Case caseAncienne; String pathPerso; + int i, diceNumber; + Thread personnage; @FXML @Override @@ -76,41 +78,50 @@ public class GamePlayController implements Initializable { Timeline timeline = new Timeline(); timeline.setCycleCount(1); + int time1 = 100; + int time2 = 200; + int time3 = 300; + int time4 = 400; + int time5 = 500; + int time6 = 600; + int time7 = 700; + int time8 = 800; + //animation déplacement vers la droite if(caseActuelle.getCoordX() > caseAncienne.getCoordX()){ System.out.println(pathPerso + "7.png"); Image imagePerso7 = new Image(Objects.requireNonNull(getClass().getClassLoader().getResource(pathPerso + "7.png")).toExternalForm()); Image imagePerso8 = new Image(Objects.requireNonNull(getClass().getClassLoader().getResource(pathPerso + "8.png")).toExternalForm()); Image imagePerso9 = new Image(Objects.requireNonNull(getClass().getClassLoader().getResource(pathPerso + "9.png")).toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time1), event -> { persoImageView.setImage(imagePerso8); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time2), event -> { persoImageView.setImage(imagePerso7); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time3), event -> { persoImageView.setImage(imagePerso9); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time4), event -> { persoImageView.setImage(imagePerso7); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time5), event -> { persoImageView.setImage(imagePerso9); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time6), event -> { persoImageView.setImage(imagePerso7); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time7), event -> { persoImageView.setImage(imagePerso9); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time8), event -> { persoImageView.setImage(imagePerso8); persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); })); @@ -121,35 +132,35 @@ public class GamePlayController implements Initializable { Image imagePerso4 = new Image(getClass().getClassLoader().getResource(pathPerso+"4.png").toExternalForm()); Image imagePerso5 = new Image(getClass().getClassLoader().getResource(pathPerso+"5.png").toExternalForm()); Image imagePerso6 = new Image(getClass().getClassLoader().getResource(pathPerso+"6.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time1), event -> { persoImageView.setImage(imagePerso5); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time2), event -> { persoImageView.setImage(imagePerso4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time3), event -> { persoImageView.setImage(imagePerso6); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time4), event -> { persoImageView.setImage(imagePerso4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time5), event -> { persoImageView.setImage(imagePerso6); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time6), event -> { persoImageView.setImage(imagePerso4); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time7), event -> { persoImageView.setImage(imagePerso6); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time8), event -> { persoImageView.setImage(imagePerso5); persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); })); @@ -160,35 +171,35 @@ public class GamePlayController implements Initializable { Image imagePerso10 = new Image(getClass().getClassLoader().getResource(pathPerso+"10.png").toExternalForm()); Image imagePerso11 = new Image(getClass().getClassLoader().getResource(pathPerso+"11.png").toExternalForm()); Image imagePerso12 = new Image(getClass().getClassLoader().getResource(pathPerso+"12.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time1), event -> { persoImageView.setImage(imagePerso11); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time2), event -> { persoImageView.setImage(imagePerso10); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time3), event -> { persoImageView.setImage(imagePerso12); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time4), event -> { persoImageView.setImage(imagePerso10); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time5), event -> { persoImageView.setImage(imagePerso12); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time6), event -> { persoImageView.setImage(imagePerso10); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time7), event -> { persoImageView.setImage(imagePerso12); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time8), event -> { persoImageView.setImage(imagePerso11); persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); })); @@ -199,35 +210,35 @@ public class GamePlayController implements Initializable { Image imagePerso1 = new Image(getClass().getClassLoader().getResource(pathPerso+"1.png").toExternalForm()); Image imagePerso2 = new Image(getClass().getClassLoader().getResource(pathPerso+"2.png").toExternalForm()); Image imagePerso3 = new Image(getClass().getClassLoader().getResource(pathPerso+"3.png").toExternalForm()); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(200), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time1), event -> { persoImageView.setImage(imagePerso2); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(300), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time2), event -> { persoImageView.setImage(imagePerso1); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(400), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time3), event -> { persoImageView.setImage(imagePerso3); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(500), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time4), event -> { persoImageView.setImage(imagePerso1); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(600), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time5), event -> { persoImageView.setImage(imagePerso3); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(700), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time6), event -> { persoImageView.setImage(imagePerso1); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(800), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time7), event -> { persoImageView.setImage(imagePerso3); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(900), event -> { + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(time8), event -> { persoImageView.setImage(imagePerso2); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); })); @@ -240,22 +251,34 @@ public class GamePlayController implements Initializable { } public void animationDe() throws InterruptedException { - int i, diceNumber = 0; - Timeline timeline = new Timeline(); - timeline.setCycleCount(1); + personnage = new Thread("personnage"){ + public void run(){ + diceNumber = 0; + i = 0; + Timeline timeline = new Timeline(); + timeline.setCycleCount(1); - for( i = 0; i<10; i++){ - diceNumber = (int) (Math.random()*6 +1); - String path = "image/dé/d" + diceNumber + ".png"; - timeline.getKeyFrames().add(new KeyFrame(Duration.millis(50*i), event -> { - de.setImage(new Image(path)); - })); - } - timeline.play(); + for( i = 0; i<10; i++){ + diceNumber = (int) (Math.random()*6 +1); + String path = "image/dé/d" + diceNumber + ".png"; + timeline.getKeyFrames().add(new KeyFrame(Duration.millis(50*i), event -> { + de.setImage(new Image(path)); + })); + } + timeline.play(); + + for(i=0;i