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(); MapController mapController = new MapController();
Case caseAncienne; Case caseAncienne;
String pathPerso; String pathPerso;
int i, diceNumber;
Thread personnage;
@FXML @FXML
@Override @Override
@ -76,41 +78,50 @@ public class GamePlayController implements Initializable {
Timeline timeline = new Timeline(); Timeline timeline = new Timeline();
timeline.setCycleCount(1); 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 //animation déplacement vers la droite
if(caseActuelle.getCoordX() > caseAncienne.getCoordX()){ if(caseActuelle.getCoordX() > caseAncienne.getCoordX()){
System.out.println(pathPerso + "7.png"); System.out.println(pathPerso + "7.png");
Image imagePerso7 = new Image(Objects.requireNonNull(getClass().getClassLoader().getResource(pathPerso + "7.png")).toExternalForm()); 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 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()); 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.setImage(imagePerso8);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso7);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso9);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso7);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso9);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso7);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso9);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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.setImage(imagePerso8);
persoImageView.setLayoutX(persoImageView.getLayoutX()+avancementCase); 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 imagePerso4 = new Image(getClass().getClassLoader().getResource(pathPerso+"4.png").toExternalForm());
Image imagePerso5 = new Image(getClass().getClassLoader().getResource(pathPerso+"5.png").toExternalForm()); Image imagePerso5 = new Image(getClass().getClassLoader().getResource(pathPerso+"5.png").toExternalForm());
Image imagePerso6 = new Image(getClass().getClassLoader().getResource(pathPerso+"6.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.setImage(imagePerso5);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso4);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso6);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso4);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso6);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso4);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso6);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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.setImage(imagePerso5);
persoImageView.setLayoutX(persoImageView.getLayoutX()-avancementCase); 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 imagePerso10 = new Image(getClass().getClassLoader().getResource(pathPerso+"10.png").toExternalForm());
Image imagePerso11 = new Image(getClass().getClassLoader().getResource(pathPerso+"11.png").toExternalForm()); Image imagePerso11 = new Image(getClass().getClassLoader().getResource(pathPerso+"11.png").toExternalForm());
Image imagePerso12 = new Image(getClass().getClassLoader().getResource(pathPerso+"12.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.setImage(imagePerso11);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso10);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso12);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso10);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso12);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso10);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso12);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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.setImage(imagePerso11);
persoImageView.setLayoutY(persoImageView.getLayoutY()-avancementCase); 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 imagePerso1 = new Image(getClass().getClassLoader().getResource(pathPerso+"1.png").toExternalForm());
Image imagePerso2 = new Image(getClass().getClassLoader().getResource(pathPerso+"2.png").toExternalForm()); Image imagePerso2 = new Image(getClass().getClassLoader().getResource(pathPerso+"2.png").toExternalForm());
Image imagePerso3 = new Image(getClass().getClassLoader().getResource(pathPerso+"3.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.setImage(imagePerso2);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso1);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso3);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso1);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso3);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso1);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso3);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); 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.setImage(imagePerso2);
persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase); persoImageView.setLayoutY(persoImageView.getLayoutY()+avancementCase);
})); }));
@ -240,22 +251,34 @@ public class GamePlayController implements Initializable {
} }
public void animationDe() throws InterruptedException { public void animationDe() throws InterruptedException {
int i, diceNumber = 0; personnage = new Thread("personnage"){
Timeline timeline = new Timeline(); public void run(){
timeline.setCycleCount(1); diceNumber = 0;
i = 0;
Timeline timeline = new Timeline();
timeline.setCycleCount(1);
for( i = 0; i<10; i++){ for( i = 0; i<10; i++){
diceNumber = (int) (Math.random()*6 +1); diceNumber = (int) (Math.random()*6 +1);
String path = "image/dé/d" + diceNumber + ".png"; String path = "image/dé/d" + diceNumber + ".png";
timeline.getKeyFrames().add(new KeyFrame(Duration.millis(50*i), event -> { timeline.getKeyFrames().add(new KeyFrame(Duration.millis(50*i), event -> {
de.setImage(new Image(path)); de.setImage(new Image(path));
})); }));
} }
timeline.play(); 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) { private Image createImage(Color color) {

Loading…
Cancel
Save