Correction déplacement personnage

- ajout d'un thread
main
ZIRTR0X 3 years ago
parent 791c63993f
commit 3a9a240e7d

@ -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<diceNumber;i++){
try {
movePlayerNextCase();
personnage.sleep(800);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
personnage.start();
for(i=0;i<diceNumber;i++){
movePlayerNextCase();
}
}
private Image createImage(Color color) {

Loading…
Cancel
Save