A voir également:
- Problème d'affichage pour jeu sokoban
- Jeu gratuit pour gagner de l'argent réel avis - Forum Internet / Réseaux sociaux
- Jeu zuma - Télécharger - Jeux vidéo
- Google jeu - Guide
- Regle du jeu uno extreme ✓ - Forum Loisirs / Divertissements
- Processeur 100 en jeu ✓ - Forum Windows 10
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
5 nov. 2017 à 18:30
5 nov. 2017 à 18:30
Bonjour,
Plusieurs erreurs (mais pas sûr que ça corrige ton problème)
Dans tes deux méthodes affichePlayer et afficheCasse, tu charges l'image avec Toolkit.getDefaultToolkit().getImage(), or il ne faudrait le faire qu'une seule fois, ça ne sert à rien d'aller récupérer le fichier à chaque affichage, juste une fois lorsque le programme se lance devrait suffire.
De plus, tu as utilisé des chemins absolus pour tes fichiers (C:/...) mais si tu déplaces tes images ou que tu donnes le programme à quelqu'un d'autre ça ne marchera plus, il vaudrait mieux utiliser des chemins relatifs au programme.
Remarque : est-ce normal que ton image de caisse s'appelle zombie ?
Autre erreur, tu fais un repaint(); à la fin de paintComponent(), il ne faut pas, je me demande d'ailleurs s'il est vraiment pertinent de redéfinir la méthode paintComponent ici. Dans la plupart des cas c'est la méthode paint qu'il faut redéfinir.
Plusieurs erreurs (mais pas sûr que ça corrige ton problème)
Dans tes deux méthodes affichePlayer et afficheCasse, tu charges l'image avec Toolkit.getDefaultToolkit().getImage(), or il ne faudrait le faire qu'une seule fois, ça ne sert à rien d'aller récupérer le fichier à chaque affichage, juste une fois lorsque le programme se lance devrait suffire.
De plus, tu as utilisé des chemins absolus pour tes fichiers (C:/...) mais si tu déplaces tes images ou que tu donnes le programme à quelqu'un d'autre ça ne marchera plus, il vaudrait mieux utiliser des chemins relatifs au programme.
private static final Image imgperso = Toolkit.getDefaultToolkit().getImage("perso.png");
private static final Image imgcaisse = Toolkit.getDefaultToolkit().getImage("zombie.png");
Remarque : est-ce normal que ton image de caisse s'appelle zombie ?
Autre erreur, tu fais un repaint(); à la fin de paintComponent(), il ne faut pas, je me demande d'ailleurs s'il est vraiment pertinent de redéfinir la méthode paintComponent ici. Dans la plupart des cas c'est la méthode paint qu'il faut redéfinir.
@Override
public void paint(Graphics g) {
super.paint(g);
initGlobal();
afficheGame(g);
afficheCasse(g);
affichePlayer(g);
}
Modifié le 5 nov. 2017 à 19:39
Ah et pour le zombie c'était un thème Halloween :)
5 nov. 2017 à 19:46
5 nov. 2017 à 19:54