Déplacement javaFX personnage.
Bonjour, j'essaie de faire bouger un cercle que j'ai crée avant grâce au code qui permet d'ajouter pour chaque cas (exemple pour le cas S D Q Z ), une action qui permet pour Z d'avancer vers le haut, pour la touche D d'aller à droite, Q pour aller à gauche et Z pour reculer donc aller en bas.(C'est pour un futur jeux que je vais crée.Je n'arrive pas à crée le code qui me permet de faire ceci, j'ai essayer mais la console me met des messages d'erreurs:calim2:, et pour les déplacement à droite, haut, gauche et en bas, je ne sais pas ce qu'il faut rentrer apres par exemple cas Z:
//j'aimerais pouvoir mettre que mon cercle se dirige vers le haut de l'écran.
J'aimerais que vous me fassiez le code du cercle qui ce déplace vers la droite quand je clic D, vers la gauche quand je fais Q, haut pour Z et bas pour S s'il vous plait .Merci de m'aider.:D;)
Déplacement javaFX personnage.
Bonjour, merci de m'avoir répondu, j'ai réaliser un code qui permet de faire avancer(faire aller en haut) un cercle appelé c, crée auparavant.
J'ai un dernier problème, quand je met c.setLayoutY(c.getLayoutY(-2)); ,c.getLayoutY est surligné en rouge donc je ne peux point lancer le programme.Pouvez-vous m'aider s'il vous plait, voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| package application;
import java.util.HashSet;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.input.KeyCode;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
Group root = new Group();//Creation groupe
Scene scene = new Scene(root,800,500);//Creation fenetre de taille 400 sur 400 pixels
Circle c = new Circle();
c.setCenterX(400);
c.setCenterY(250);
c.setRadius(10);
c.setFill(Color.BLUE);
HashSet<KeyCode> tab = new HashSet<KeyCode>();
AnimationTimer aT = new AnimationTimer() {
public void handle(long l) {
for(KeyCode c : tab) {
switch(c){
case Z:
c.setLayoutY(c.getLayoutY(-2));
break;
case S:
break;
case D:
break;
case Q:
break;
}
}
};
};
scene.setOnKeyPressed(e ->{
boolean wasEmpty = tab.isEmpty();
if(tab.add(e.getCode()) && wasEmpty)
aT.start();
});
scene.setOnKeyReleased(e ->{
if(tab.remove(e.getCode()) && tab.isEmpty())
aT.stop();
});
scene.setFill(Color.WHITE);
root.getChildren().add(c);
primaryStage.setTitle("Ma premiere fenetre");//Ajout d'un titre a la fenetre
primaryStage.setScene(scene);//Ajout d'une scene dans la fenetre
primaryStage.show();//Rendre visible la fenetre
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
} |