bonjour, voilà je réalise un petit jeu en Graphics sur Java et ...j'ai un problème T.T... bref voilà le problème:
en variables publiques je définit l et l2.
ensuite je déclare dans ma frame que l vaut une image,l2 aussi mais que pour l'instant n'en ayant pas besoin je la cache.
j'ai un KeyListener qui me permet de bouger mon personnage sur les quatres directions... en fonction de la direction une variable sens prend 4 valeurs différentes . à l'appui de la touche du clavier numérique "2" normalement une boule de feu devrait apparaitre donc l2 en fonction de x,y.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 l=new JLabel(new ImageIcon("perso1.GIF")); l2=new JLabel( new ImageIcon("bouledefeu.gif") ); l.setBounds(x, y, 24,50); l2.setVisible(false); add(l2); add(l);
et c'est ICI que ça se complique ... preuve en Images...
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 if (arg0.getKeyCode() == 98){ ImagePerso ip=new ImagePerso(); int w=x+6; int z=y+12; l2=ip.draw("bouledefeu.gif"); l2.setIcon( new ImageIcon("bouledefeu.gif") ); l2.setBounds(w, z, 24,50); l2.setVisible(true); l2.repaint(); add(l2); /* while((0<w)||(w>300)||(0<z)||(z>300)){ if(sens==1)w-=2; if(sens==2)z-=2; ici le programme qui devrait la faire bouger ... mais il faut déjà pouvoir l'afficher... if(sens==3)w+=2; if(sens==4)z+=2; l2.setBounds(w, z, 24,50); l2.repaint(); add(l2); }*/ }
bon là le 98 dans la console signifie que j'ai bien appuyé sur "2"... la boule de feu n’apparaît pas...
mais lorsque je bouge mon personnage hop! elle apparaît et au dessus comme voulu! le problème c'est que j'ai pas envie forcément de bouger le personnage pour qu'elle puisse bouger... et comme je débute en Java je n'ai vraiment aucune idée de ce qui se passe ...j'éspère que vous pourrez me dire ce qui ne marche pas,Merci d'avance.
Partager