Skip to content
Snippets Groups Projects
Commit eb5eaddb authored by Louis MALTERRE's avatar Louis MALTERRE
Browse files

maj collisions LM

parent 746163ce
No related branches found
No related tags found
No related merge requests found
......@@ -62,6 +62,7 @@ public class Character extends Entity{
//on actualise les vitesses
vitesseActuX = tableCommande.get("CommandX");
//System.out.println(vitesseActuX);
if (vitesseActuX != 0){
direction = (int) Math.signum(vitesseActuX);
}
......@@ -89,12 +90,12 @@ public class Character extends Entity{
//on set alpha a 0 (on suppose qu'il est en l'air)
alpha = 0;
if (this.hitBox.getExtremites().get("BasDroite").getZ()+entityHEIGHT/2-obstacleBeneath.getHitbox().getExtremites().get("HautDroite").getZ()>=-1 && this.hitBox.getExtremites().get("HautDroite").getX()>obstacleBeneath.getHitbox().getExtremites().get("BasGauche").getX() && this.hitBox.getExtremites().get("HautGauche").getX()<obstacleBeneath.getHitbox().getExtremites().get("BasDroite").getX()) {
/*if (this.hitBox.getExtremites().get("BasDroite").getZ()+entityHEIGHT/2-obstacleBeneath.getHitbox().getExtremites().get("HautDroite").getZ()>=-1 && this.hitBox.getExtremites().get("HautDroite").getX()>obstacleBeneath.getHitbox().getExtremites().get("BasGauche").getX() && this.hitBox.getExtremites().get("HautGauche").getX()<obstacleBeneath.getHitbox().getExtremites().get("BasDroite").getX()) {
alpha = 1;
}
else {
else {*/
//par defaut l'obstacle en dessous c'est le sol
obstacleBeneath=Jeu.sol;
//on parcourt pour tester si il est sur un block
......@@ -105,7 +106,7 @@ public class Character extends Entity{
}
if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == BAS ){
this.vitesseActuZ = 0;
this.setCoord(new Coordonnees(this.getCoord().getX(), getObstacleTable().get(i).getHitbox().getExtremites().get("HautGauche").getZ()-entityHEIGHT/2-1));
this.setCoord(new Coordonnees(this.getCoord().getX(), getObstacleTable().get(i).getHitbox().getExtremites().get("HautGauche").getZ()-entityHEIGHT/2));
obstacleBeneath=listeObstaclesInVoisinage.get(i);
alpha = 1;
......@@ -126,17 +127,17 @@ public class Character extends Entity{
}*/
}
//}
//on gere les collisions laterales et celle du haut
for (int i=0;i<collisionsPresentes.size();i++){
if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == DROITE && this.vitesseActuX < 0){
this.setCoord(new Coordonnees(listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("HautDroite").getX()+entityWIDTH/2+1, this.getCoord().getZ()));
this.setCoord(new Coordonnees(listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("HautDroite").getX()+entityWIDTH/2, this.getCoord().getZ()));
break;
}
else if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == GAUCHE && this.vitesseActuX > 0){
this.setCoord(new Coordonnees(listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("HautGauche").getX()-entityWIDTH/2-1, this.getCoord().getZ()));
this.setCoord(new Coordonnees(listeObstaclesInVoisinage.get(i).getHitbox().getExtremites().get("HautGauche").getX()-entityWIDTH/2, this.getCoord().getZ()));
break;
}
......@@ -192,7 +193,7 @@ public class Character extends Entity{
Map<String,Boolean> commandeJeu = Jeu.getDirectionJeu();
if (commandeJeu.get("Right") && commandeJeu.get("Left")){tableCommande.replace("CommandX", (double)0);}
else if (commandeJeu.get("Right")) tableCommande.replace("CommandX", vitesseMax);
else if (commandeJeu.get("Right")) tableCommande.replace("CommandX", vitesseMax+500);
else if (commandeJeu.get("Left")) tableCommande.replace("CommandX", -vitesseMax);
......
......@@ -132,7 +132,7 @@ public class Painter implements GamePainter{
}
private void drawMap(Graphics2D crayon){
System.out.println("Nombre obstacle :"+Jeu.getObstacleTable().size());
//System.out.println("Nombre obstacle :"+Jeu.getObstacleTable().size());
for (Obstacle obs : Jeu.getObstacleTable()){
if (!collision(gameCharacter.getHitBox(), obs.getHitbox())){
crayon.setColor(Color.blue);
......
......@@ -78,7 +78,6 @@ public class LevelManager {
liste.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i, Jeu.TILES_SIZE * j), 1*Jeu.TILES_SIZE, 7*Jeu.TILES_SIZE)));
}
System.out.println(liste.size());
}
return liste;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment