Utilisation de l'interface MouseListener

bobator
Utilisation de l'interface MouseListener

Bonjour à tous.
Nous continuons à créer notre petit jeu. Nous avons afficher notre map (zelda.gif) dans la JFrame, nous avons crée des droites pour avoir des rectangles qui forment les cases du jeu, puis nous avons mis un petit personnage animé (bibi.gif)
Maintenant nous aimerions faire déplacer ce personnage en cliquant sur les cases qui lui sont voisines. Nous avons vu dans un tutoriel qu'on pouvait se servir de MouseListener mais nous avons du mal à l'appliquer concrétement
Nous serions très heureux si vous pouviez nous donnez des pistes ou si vous avez vraiment le temps,l'appliquez à notre problème
Merci à vous.

import java.awt.*;
import javax.swing.*;

public class ecran extends JFrame
{
public void paint(Graphics g)
{
Image fond=null;
Toolkit kit = Toolkit.getDefaultToolkit();
fond=kit.getImage("zelda.gif");

g.drawImage(fond,0,0,1100,900,this);

g.setColor(Color.RED);
g.drawLine(0, 0, 0, 900);
g.drawLine(110, 0, 110, 900);
g.drawLine(220, 0, 220, 900);
g.drawLine(330, 0, 330, 900);
g.drawLine(440, 0, 440, 900);
g.drawLine(550, 0, 550, 900);
g.drawLine(660, 0, 660, 900);
g.drawLine(770, 0, 770, 900);
g.drawLine(880, 0, 880, 900);
g.drawLine(990, 0, 990, 900);
g.drawLine(1100, 0, 1100, 900);

g.drawLine(0, 90, 1100, 90);
g.drawLine(0, 180, 1100, 180);
g.drawLine(0, 270, 1100, 270);
g.drawLine(0, 360, 1100, 360);
g.drawLine(0, 450, 1100, 450);
g.drawLine(0, 540, 1100, 540);
g.drawLine(0, 630, 1100, 630);
g.drawLine(0, 720, 1100, 720);
g.drawLine(0, 810, 1100, 810);
g.drawLine(0, 900, 1100, 900);

Toolkit kit2 = Toolkit.getDefaultToolkit();
fond=kit.getImage("bibi.gif");
g.drawImage(fond,110,360,110,90,this);

}
public ecran()
{
this.setTitle("ma fenetre");
this.setSize(new Dimension(1100,900));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[])
{
new ecran().setVisible(true);
}
}

fredericmazue

Bonjour,

Quote:
Nous serions très heureux si vous pouviez nous donnez des pistes ou si vous avez vraiment le temps,l'appliquez à notre problème

Ca peut se faire.
Mais alors, au lieu de montrer du code qui trace des lignes et qui ne concerne en rien le problème, montre un peu ce que vous avez écrit à pour essayer d'implémenter l'interface MouseListener et on essaiera de t'aider.
bobator

En fait les lignes dessinent les cases du jeu et après pour le mouse listener on pense rajouter un truc dans le genre là:

public ecran()
{
this.setTitle("ma fenetre");
this.setSize(new Dimension(1100,900));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addMouseListener(this);
}

public void mouseClicked(MouseEvent arg0)
{
XXXXXXXXXXXXXXX
}

Par contre on sait pas trop quoi mettre à la place des XXXX pour effectuer le deplacement du personnage. Avez vous des idées ?

fredericmazue

Quote:
addMouseListener(this);

Avec le code que tu donnes ça ne peut pas suffire, ça ne doit me^me pas compiler car this n'est pas un MouseListener. Sois tu fais

public class ecran extends JFrame implements MouseListener

soit tu instancies une classe anonyme de type MouseInputAdapter et tu fais

Quote:
addMouseListener(la_classe_anonyme_en_question);

Quote:
Par contre on sait pas trop quoi mettre à la place des XXXX pour effectuer le deplacement du personnage. Avez vous des idées ?

On comment veux tu qu'on en ait ? C'est toi qui fait le jeu, qui sait comment les personnages doivent se déplacer, etc... Nous on ne sait rien ici

bobator

Je disais "on" parcequ'on est plusieurs à le faire (travail de groupe)
Merci pour vos reponses

fredericmazue

Quote:
Je disais "on" parcequ'on est plusieurs à le faire (travail de groupe)
Merci pour vos reponse

Oui je sais bien.

J'ai simplement fait une faute de frappe. J'ai écrit "On comment veux tu qu'on en ait" Mais je voulais écrire "Et comment veux tu qu'on en ait" :oops: