Probleme d'un novice

Résolu
MawueN Messages postés 8 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 11 février 2005 - 2 févr. 2005 à 21:21
MawueN Messages postés 8 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 11 février 2005 - 11 févr. 2005 à 13:51
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

MawueN Messages postés 8 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 11 février 2005
4 févr. 2005 à 14:25
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
3
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
3 févr. 2005 à 13:01
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
-------------------
0
MawueN Messages postés 8 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 11 février 2005
3 févr. 2005 à 20:31
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
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
4 févr. 2005 à 08:55
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
-------------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
4 févr. 2005 à 14:52
Arf! Tu as raison, tu prendras vite gout au travail en objet java...

-------------------
dams
-------------------
0
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
6 févr. 2005 à 14:53
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"
0
MawueN Messages postés 8 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 11 février 2005
11 févr. 2005 à 13:51
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
0
Rejoignez-nous