A voir également:
- Problème d'affichage pour jeu sokoban
- 94 jeu - Télécharger - Puzzle & Réflexion
- Jeu zuma - Télécharger - Jeux vidéo
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Jeu 94 degrés - Télécharger - Divers Jeux
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
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