Rebond casse brique java
rr
-
linus -
linus -
Bonjour, je réalise un projet en java sous eclipse du jeu du casse brique.
Je n'arrive pas à gérer les rebonds entre la balle et la raquette de jeu.
Pour l'instant , si la balle entre en contact avec la raquette,celle ci prend un angle droit.
Le jeu est donc répétitif(cela provoque toujours la meme partie!).
J'ai pensé à gérer la raquette en trois parties(gauche milieu et droite) afin de donner un certain angle
à la balle en fonction de la zone touchée. Seulement je ne vois pas du tout comment faire
Pouvez-vous m'aider?Ya-t-il une meilleure solution?
Voici le code de ma classe balle de la méthode move() appelé dans le thread de ma balle :
public void move() {
x += dx;
y += dy;
//contact avec un mur
if (x < 0) {
x = 0;
dx = -dx;
}
if (x + XSIZE >= canvas.getWidth()) {
x = canvas.getWidth() - XSIZE;
dx = -dx;
}
if (y < 0) {
y = 0;
dy = -dy;
}
if (y + YSIZE >= canvas.getHeight()) {
y = canvas.getHeight() - YSIZE;
dy = -dy;
}
Raquette r = ((BalleCanevas)canvas).getRaquette();
if (r.contact(x, y)==1){
//contact entre la balle et la raquette
y=r.getY()-YSIZE;
dy =-dy; // pour l'instant je donne un angle droit
}
Classe raquette méthode contact :
public int contact(int x2, int y2) {
int cas =0;
if ( x2>this.getX() && x2<(this.getX() + Raquette.XSIZE)
&& (y2 + Balle.getYSIZE())>this.getY() && (y2 - Balle.getXSIZE())<(this.getY() + Raquette.YSIZE))
{
//si la balle entre en contact avec la partie
//gauche de la raquette
if(x2<this.getX()+5)
cas=1;
// si la balle entre en contact avec le milieu
//de la raquette
else if(x2<this.getX()+10)
cas=2;
// si la balle entre en contact avec la partie
//droite de la raquette
else cas=3;
}
return cas;
}
Je n'arrive pas à gérer les rebonds entre la balle et la raquette de jeu.
Pour l'instant , si la balle entre en contact avec la raquette,celle ci prend un angle droit.
Le jeu est donc répétitif(cela provoque toujours la meme partie!).
J'ai pensé à gérer la raquette en trois parties(gauche milieu et droite) afin de donner un certain angle
à la balle en fonction de la zone touchée. Seulement je ne vois pas du tout comment faire
Pouvez-vous m'aider?Ya-t-il une meilleure solution?
Voici le code de ma classe balle de la méthode move() appelé dans le thread de ma balle :
public void move() {
x += dx;
y += dy;
//contact avec un mur
if (x < 0) {
x = 0;
dx = -dx;
}
if (x + XSIZE >= canvas.getWidth()) {
x = canvas.getWidth() - XSIZE;
dx = -dx;
}
if (y < 0) {
y = 0;
dy = -dy;
}
if (y + YSIZE >= canvas.getHeight()) {
y = canvas.getHeight() - YSIZE;
dy = -dy;
}
Raquette r = ((BalleCanevas)canvas).getRaquette();
if (r.contact(x, y)==1){
//contact entre la balle et la raquette
y=r.getY()-YSIZE;
dy =-dy; // pour l'instant je donne un angle droit
}
Classe raquette méthode contact :
public int contact(int x2, int y2) {
int cas =0;
if ( x2>this.getX() && x2<(this.getX() + Raquette.XSIZE)
&& (y2 + Balle.getYSIZE())>this.getY() && (y2 - Balle.getXSIZE())<(this.getY() + Raquette.YSIZE))
{
//si la balle entre en contact avec la partie
//gauche de la raquette
if(x2<this.getX()+5)
cas=1;
// si la balle entre en contact avec le milieu
//de la raquette
else if(x2<this.getX()+10)
cas=2;
// si la balle entre en contact avec la partie
//droite de la raquette
else cas=3;
}
return cas;
}
A voir également:
- Rebond casse brique java
- 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