Slt,
Je veux créer un jeux de domino. J'ai crée ma class Domino et une class Sprite pour mieux gérer les déplacements de mé domino. Mais voila :
je voudrais déplacer mon Sprite à l'aide la souris mais ça fonctionne pas
Au lieu de bouger mon domino il bouge mon plateau (tapis)
voici le code de mon sprite :
voici le code d'affichage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public class Sprite { protected Rectangle rectangle; //Emplacement du sprite private int x,y; private Image image; //Indique si le sprite est visible private boolean visible=true; public static final int DEFAULT_SPRITE_WIDTH=25; public static final int DEFAULT_SPRITE_HEIGHT=50; /** * Crée le sprite */ public Sprite(Image image,int x,int y) { this.image=image; this.x=x; this.y=y; int width=DEFAULT_SPRITE_WIDTH; int height=DEFAULT_SPRITE_HEIGHT; rectangle=new Rectangle(x, y, width, height); } /* Renvoie la visibilité du sprite */ public boolean estVisible() { return visible; } /** * Change la visiblité du sprite */ public void setVisible(boolean visible) { this.visible=visible; }
Si une personne aurait une explication elle sera la bien venu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Tapis(Joueur[] joueurs) { lesjoueurs = joueurs; dominoV = new ImageIcon("C:\\image\\00.jpg"); essai=new JLabel(dominoV); setLayout(null); this.addMouseListener(this); this.addMouseMotionListener(this); } /********************************************************* * Partie actionlistener ********************************************************/ public void mouseReleased(MouseEvent e) { setLocation( currentX, currentY); repaint(); } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } //pour puvoir faire bouger l'objet je detecte si j'ai bien clické sur un objet public void mousePressed(MouseEvent e) { AncienAbs = e.getX(); AncienOrd = e.getY(); }//fin mousePressed // un click de bouton ajoute un rectangle dans la liste et // le repaint le dessine public void mouseClicked(MouseEvent e) { System.out.println("Clic en [" + e.getX() + ", " + e.getY() + "]"); } public void mouseMoved( MouseEvent e ){ } public void mouseDragged( MouseEvent e ) { currentX = e.getX(); currentY = e.getY(); System.out.println("IMAGE_MANIP - Dragged at x="+currentX+" y="+currentY); repaint(); } /********************************************************* * la partie de l'affichage **********************************************************/ // @Override public void paint(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; //affichage du tapis File fichier0=new File("C:\\image\\Tapis.gif"); try{ image = ImageIO.read(fichier0); }catch(IOException e){ return; } g2d.drawImage(image, 0, 0, null); //jeu du joueur sud int posx = 175; int posy = 550; int nb = lesjoueurs[0].main.size(); for (int v = 0; v < nb; v++) { Domino ledomino =(Domino)lesjoueurs[0].main.get(v); if (ledomino!=null){ Image image=ledomino.getImage(); Sprite img=new Sprite(image,posx,posy); g2d.drawImage(image, posx,posy,null); posx = posx + 25; } }
Partager