[java] contact entre bouton pour un jeu mario
annisseur
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour, je fait actuellement un jeu de mario et je bug sur les déplacements. mon mario est un bouton (ainsi que tous les autres objets) et j'arrive a le déplacer correctement avec les flèches mais lorsque je crée des blocs (aussi des boutons crées a l'aide d'un tableau) et que je veux qu'il s'arrête s'il arrive a leur contact il commence a faire des sauts a travers mon écran... est-ce-que quelqu'un peut m'aider?
voila le bout de code qui plante (le programme complet fait 30 pages donc je vais pas le mettre en entier)
voila le bout de code qui plante (le programme complet fait 30 pages donc je vais pas le mettre en entier)
case KeyEvent.VK_LEFT:
for (i=0; i<bloc.length; i++)
if ((marioX + w >= bX[i])
//bX[i] et marioX sont des coordonnées et w et h les tailles du bouton mario
&!(marioX > bX[i] + wB)
&(marioY + h >= bY[i])
&!(marioY > bY[i] + hB))
break;
else {
if (marioX<1) //pour savoir s'il touche le bord gauche de l'écran
break;
else {
mario.setLocation(p.x-5, p.y); //ce code-ci fonctionne très bien s'il est tout seul
marioX = mario.getX();
contact();
p = mario.getLocation();
marioDroite = false;
}
break;
A voir également:
- [java] contact entre bouton pour un jeu mario
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
De plus, quand tu fais ce break, est-ce que c'est parce que tu as une erreur ?
Parce que dans ce cas ce ne sont pas des ET qu'il te faut, mais des OU...
case KeyEvent.VK_LEFT: for (i=0; i<bloc.length; i++) { if (marioX<1 || (marioX + w >= bX[i]) || (marioX <= bX[i] + wB) || (marioY + h >= bY[i]) || (marioY <= bY[i] + hB)) { break; // le break du for } else { mario.setLocation(p.x-5, p.y); marioX = mario.getX(); contact(); p = mario.getLocation(); marioDroite = false; } } break; // le break du switchMais pour info, on peut mettre des étiquettes aux for, while et switch :
s: switch(n) { case 1: f: for (int i=0; i<5; i++) { break; // par défaut, break du for break f; // break de "f", le for break s; // break de "s", le switch } }ça serait cool
parceque la ça a rien changé