Image

[Fermé]
Signaler
Messages postés
13
Date d'inscription
mardi 30 août 2011
Statut
Membre
Dernière intervention
3 mars 2015
-
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
-
Bonjour,
Je suis un débutant en Java et j'essaye de programmer un Mario like sur Netbeans. Pour le déplacement je veux utiliser une image gif (je trouve cela plus simple) donc j'ai créé une image gif qui ne se lance pas en boucle:
if (c == 37) { // c  est le key code (flèche gauche)
x = x - 5; // Le déplacement vers la gauche
MonPerso.setLocation(x, y); // Je bouge l'image
MonPerso.setIcon(new ImageIcon(Mouve.class.getResource("/images/MarioGauche.gif"))); // Je lui set l'image


L'image marche parfaitement pour la première exécution mais le problème c'est que lorsque je relance l'image elle ne se rejoue pas...
Merci d'avance !

1 réponse

Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 879
Bonjour,

Avec ton code partiel je ne vois pas où est le problème, il faudrait peut-être voir de quel type est MonPerso, comment tu traites le rafraîchissement, etc.

Deux petites remarques :

1) Tu as des constantes dans la classe KeyEvent pour chaque touche que tu peux avoir sur le clavier :
if (c == KeyEvent.VK_LEFT) { // flèche gauche

2) Ça ne sert à rien de charger ton image à chaque fois que tu fais un déplacement, tu devrais lire le fichier une seule fois au début du programme et réutiliser le même objet à chaque fois.
private static final ImageIcon MARIO_GAUCHE_ICON =
    new ImageIcon(Mouve.class.getResource("/images/MarioGauche.gif"));
...
MonPerso.setIcon(MARIO_GAUCHE_ICON);