Bouton "play" et "score" [Résolu]

Signaler
-
 BKCelia -
Bonjour,
Je suis en classe de terminale, et j'ai comme devoir de créer un jeu, j'ai donc décidé, avec mon camarade, de faire un jeu inspiré de Space Invaders. Nous bloquons actuellement sur la création de deux boutons, "Play" et "Score". En effet, nous souhaitons utiliser MouseClicked, mais nous ne savons pas comment l'utiliser pour que le clique, uniquement dans une certaine zone (la zone A et la zone B, pour chacun des boutons), fasse un évènement (lancer le jeu ou afficher le tableau des meilleurs scores), nous avons essayé avec getX et getY et voici à quoi ressemble notre class souris pour l'instant :

package Systeme;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import Jeu.Chrono;
import Jeu.Main;

public class Souris  implements MouseListener {


 private double mouseX;
 private double mouseY;


 
 public void mouseClicked(MouseEvent e) {
  mouseX = e.getX();
  mouseY = e.getY();
  
  if(e.getX() > 200 && e.getX() < 400 && e.getY() > 650 && e.getY() < 730) {
   Main.scene.setDy(2);
   Thread chronoEcran = new Thread(new Chrono());
   chronoEcran.start();
  }
  if(e.getX() > 800 && e.getX() < 1000 && e.getY() > 650 && e.getY() < 730) {
    //afficher le tableau des scores
  
  } 
 }


 public void mouseEntered(MouseEvent arg0) {

  
 }


 public void mouseExited(MouseEvent arg0) {

  
 }


 public void mousePressed(MouseEvent arg0) {
 
  
 }


 public void mouseReleased(MouseEvent arg0) {

  
 }
}

aucune erreur d'après Eclipse, mais, alors que les conditions sont remplis, rien ne se passe.

Merci d'avoir lu jusqu'ici :)

2 réponses

Messages postés
16079
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
28 octobre 2020
2 705
Bonjour,

Il faudrait voir le code où ce listener est ajouté, notamment pour savoir sur quel composant il est ajouté, car les méthodes getX et getY renvoient des valeurs relatives à la position du composant cliqué, si ce n'est pas le bon ça peut tout fausser...
Le code est joint dans le message, je ne comprends pas votre commentaire
Messages postés
16079
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
28 octobre 2020
2 705 > BKCelia
Le code que tu as joint est celui du Listener, c'est à dire l'action attendue au clic, mais pour que cela fonctionne à un moment il faut le brancher à un composant, sur lequel on va cliquer :
toto.addMouseListener(new Souris());

Les valeurs de getX et getY dépendront du composant "toto" sur lequel on a cliqué puisque le (0,0) qui sert d'origine au repère correspond au coin en haut à gauche de ce composant (c'est à dire la position du composant pour son conteneur parent).
J'avais en effet oublier d'ajouter les mouse listener dans ma "scene", ça marche maintenant, merci beaucoup ! :D