Probleme d'un novice [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
11 février 2005
-
Messages postés
8
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
11 février 2005
-
bonjours a tous


(je suis un vrai debutant)


bon voila dans mon petit prog g une image qui est positionner en x et j'aimerai la deplacer avec les fleche du clavier(gauche et doite)
J'ai fait le code mais il doit y avoir un probleme sa ne marche pas
bon voila le bout de code
...
int depX
...
public void keyPressed(KeyEvent e) {}


public void keyTyped(KeyEvent e) {
int key = e.getKeyCode();
switch (key)
{

case KeyEvent.VK_LEFT: depX=-1; break;
case KeyEvent.VK_RIGHT: depX=1; break;


}
repaint();
}

public void keyReleased(KeyEvent e) {}

7 réponses

Messages postés
8
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
11 février 2005

Ok merci beaucoup et
g encor beaucoup a aprendre je croi
mais bon tt le monde est passer par la.
Et je suis dsl pour les faute architectural je v travailler sur tt sa
Messages postés
500
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
11 juillet 2007

Tu as verifie que tu passais bien dans le listener

(en debug ou avec un System.out.println())

et surtout que ton depX etait modifie qd tu appuyait sur les touches???

-------------------
dams
-------------------
Messages postés
8
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
11 février 2005

Merci de mavoir un peu aider mais je ni arrive toujours pas bon voila mon code

import java.awt.Image;
import javax.swing.*;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;

class bonhom extends JFrame implements KeyListener //ma classe
{


Image bonhom;
Image fond;
int depX = 5;

public static void main(String args[]) // la methode main
{
new golemdefeu();
}
public golemdefeu()
{
setSize(512, 384); //crée ue fenetre
setVisible(true);
fond = getToolkit().getImage("decor1.gif"); //recuper les images
bonhom = getToolkit().getImage("bonhom.gif");

}

public void paint(Graphics g)
{

g.drawImage(fond, 0, 0, this); // Dessin de l'image de fond,
g.drawImage(golemfeu, depX , 120, 64,107, this); //dessine mon bonhom qui
//sera tt le temps a 120 sur y et que je voudrai deplacer sur x
}

public void keyPressed(KeyEvent e) {}


public void keyTyped(KeyEvent e) {
int key = e.getKeyCode();
switch (key)
{
case KeyEvent.VK_LEFT: depX=-1; break; //quand on appui sur la fleche de gauche
// on enleve 1a depX qui fera bouger mon image a gauche
case KeyEvent.VK_RIGHT: depX=+1; break; // pareil mais pour la droite


}
repaint(); // d'apres ce que jai compri c pour que lon voit les changement
}

public void keyReleased(KeyEvent e) {}
}

merci encor
Messages postés
500
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
11 juillet 2007

Bon, y avait tellement d'erreur architecturale et de codage,

et j'ai pas vraiment le temps de tout passer en revu,

mais regarde cet exemple corrige...



import java.awt.Image;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;



public class Frame_Test

extends JFrame {



private Image bonhom;

private Image fond;

private int depX = 5;



public Frame_Test(){

super("Test");

setSize(512, 384);

addKeyListener(new MyKeyAdapter()); //penser a ajouter le listener

fond = getToolkit().getImage("decor1.gif"
);

bonhom = getToolkit().getImage("bonhom.gif"
);

}



public static void main(String args[]) {

new Frame_Test().setVisible(true);

}



public void paint(Graphics g) {

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

g.drawImage(bonhom, depX, 120, 64, 107, this);

}



public class MyKeyAdapter

extends KeyAdapter{

public void keyPressed(KeyEvent e) { //keyPressed : 1er catcher

int key = e.getKeyCode();

switch (key) {

case KeyEvent.VK_LEFT:

depX --; //plus rapide

// depX -= 1; //penser a faire -= ou +=



break;

case KeyEvent.VK_RIGHT:

depX++;

// depX += 1;

break;

}

System.out.println("depX = "+depX);

repaint();

}

}

}

-------------------
dams
-------------------
Messages postés
500
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
11 juillet 2007

Arf! Tu as raison, tu prendras vite gout au travail en objet java...

-------------------
dams
-------------------
Messages postés
2448
Date d'inscription
samedi 21 février 2004
Statut
Modérateur
Dernière intervention
29 janvier 2010
17
g pas put resister :

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


public class Frame_Test
extends JFrame {


private Image bonhom;
private Image fond;
private int depX = 5;
private int depY = 5;
private int width = 64;
private int height = 107;


public Frame_Test(){
super("Test");
setSize(512, 384);
addKeyListener(new MyKeyAdapter()); //penser a ajouter le listener
fond = getToolkit().getImage("HACKING.JPG");
bonhom = getToolkit().getImage("photos 1 volcan.jpg");
}


public static void main(String args[]) {
new Frame_Test().setVisible(true);
}


public void paint(Graphics g) {
g.drawImage(fond, 0, 0, this);
g.drawImage(bonhom, depX, depY, width, height, this);
}


public class MyKeyAdapter
extends KeyAdapter{
public void keyPressed(KeyEvent e) { //keyPressed : 1er catcher
int key = e.getKeyCode();
switch (key) {
case KeyEvent.VK_LEFT:
depX --; //plus rapide
// depX -= 1; //penser a faire -= ou +=


break;
case KeyEvent.VK_RIGHT:
depX++;
// depX += 1;
break;
case KeyEvent.VK_UP:
depY--;
break;
case KeyEvent.VK_DOWN:
depY++;
break;
case KeyEvent.VK_ADD:
width++;
height++;
break;
case KeyEvent.VK_SUBTRACT:
width--;
height--;
break;
case KeyEvent.VK_A:
width++;

break;
case KeyEvent.VK_Z:

height++;
break;
case KeyEvent.VK_E:
width--;

break;
case KeyEvent.VK_R:

height--;
break;
}
System.out.println("depX = " + depX);
System.out.println("depY = " + depY);
System.out.println("width = " + width);
System.out.println("height = " + height);
repaint();
}
}
}

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Messages postés
8
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
11 février 2005

A merci c hyper simpa et juste un dernier de dernier truc : sa cliniote g vu sur prografix quil fallait metre un bufferImage mais quand je fai comme eu ds ma fenetre msdos il me marke plein de truc et je ne comprend pas tro
il fau un tread .. il fau un component valid et après g plein de classe java.awt...
alors comment je fai pour plus que sa cliniote
Sinon merci quand meme