Salut,
*)Introduction:
La classe "main" ,"image" et "image util" fonctionne normalement.
*)Présentation:
Voila je voudrais que une image contenue dans un "JLabel",parte du haut de l'écran puis descende progressivement jusqu'à arriver en bas de la fenêtre puis ce mm "JLabel" reprend une position aléatoire en haut de la fenêtre.
voir img:
*)Problème:
Mon problème concerne "seulement" la partie animation.Tout le reste fonctionne(affichage,gestion de la position aléatoire).
*)Précision:
Je tiens à préciser que j'ai vue les threads "officieusement"
*)Code:
Classe Obstacle:
Classe Main:
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 public class Obstacle extends JPanel { int posX,posY; public int getPosX(){ return this.posX; } public void setPosX(int posX){ this.posX=posX; } public int getPosY(){ return this.posY; } public void setPosY(int posY){ this.posY=posY; } public int fctHasard(int borneInf,int borneSup){ int random = (int)(Math.random() * (borneSup-borneInf)) + borneInf; return random; } Image imgObstacle =new Image("C:\\Users\\antoine\\Desktop\\imgProjetObstacle.JPG"); JLabel labImgObstacle =null; public void fctMvtObstacle(JFrame fenPrincipale, JPanel panPrincipale) throws IOException{ int posXDepart=fctHasard(0,fenPrincipale.getWidth()),posYDepart=ImageUtil.getImageHeight(imgObstacle.adresseImg); boolean continuer=true; posX=posXDepart; posY=posYDepart; labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg)); panPrincipale.add(labImgObstacle); /*while(continuer){ posY++; //remetlefondvierge labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg)); panPrincipale.add(labImgObstacle); if(posY==fenPrincipale.getHeight()){ posX=fctHasard(0,fenPrincipale.getWidth()); posY=-ImageUtil.getImageHeight(imgObstacle.adresseImg); //remet le fond vierge labImgObstacle=imgObstacle.fctAfficherImg(panPrincipale, posX,posY,ImageUtil.getImageWidth(imgObstacle.adresseImg), ImageUtil.getImageHeight(imgObstacle.adresseImg)); panPrincipale.add(labImgObstacle); } }*/ } }
Merci à vous.
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 public class Main extends JPanel { public static void main(String[] args) { // TODO Auto-generated method stub //Principale JFrame fenPrincipale=new JFrame("-ProjetNfa032-");//On definit la JFrame //fen=fenetre JPanel panPrincipale=new JPanel(); fenPrincipale.setSize(new Dimension(1024,768)); fenPrincipale.setResizable(false); fenPrincipale.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); int framWidth=fenPrincipale.getWidth() , framHeight=fenPrincipale.getHeight(); //Joueur Image imgJoueur =new Image("C:\\Users\\antoine\\Desktop\\imgProjetJoueur.gif"); JLabel labImgJoueur=null; try { labImgJoueur=imgJoueur.fctAfficherImg(panPrincipale, framWidth/2,framHeight-150,ImageUtil.getImageWidth(imgJoueur.adresseImg), ImageUtil.getImageHeight(imgJoueur.adresseImg)); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } panPrincipale.add(labImgJoueur); //Obstacle Obstacle obstacle1=new Obstacle(); try { obstacle1.fctMvtObstacle(fenPrincipale, panPrincipale); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //fond Image imgFond= new Image("C:\\Users\\antoine\\Desktop\\imgProjetFond.jpg"); JLabel labImgFond = null; try { labImgFond=imgFond.fctAfficherImg(panPrincipale, 0,0,ImageUtil.getImageWidth(imgFond.adresseImg), ImageUtil.getImageHeight(imgFond.adresseImg)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } panPrincipale.add(labImgFond); // fenPrincipale.add(panPrincipale); fenPrincipale.setVisible(true); } }
Bonsoir.
Partager