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

animations faites, attaques du perso operationnelles LM

parent 9f297111
No related branches found
No related tags found
No related merge requests found
Showing
with 26 additions and 14 deletions
...@@ -66,7 +66,7 @@ public class Character extends Entity{ ...@@ -66,7 +66,7 @@ public class Character extends Entity{
direction = (int) Math.signum(vitesseActuX); direction = (int) Math.signum(vitesseActuX);
} }
vitesseActuZ = vitesseActuZ + 7*((1-alpha)*Physique.g - tableCommande.get("CommandZ"))*delta; vitesseActuZ = vitesseActuZ + 8*((1-alpha)*Physique.g - tableCommande.get("CommandZ"))*delta;
} }
public void collisionGestion(){ public void collisionGestion(){
...@@ -134,7 +134,7 @@ public class Character extends Entity{ ...@@ -134,7 +134,7 @@ public class Character extends Entity{
@Override @Override
public void attaque(){ public void attaque(){
Coordonnees attackCenter = new Coordonnees(coord.getX() + direction*entityWIDTH/2, coord.getZ()); Coordonnees attackCenter = new Coordonnees(coord.getX() + direction*entityWIDTH/2, coord.getZ());
Attack characterAttack = new Attack(attackStat, attackCenter, new HitBox(attackCenter,entityHEIGHT,entityWIDTH)); Attack characterAttack = new Attack(attackStat, attackCenter, new HitBox(attackCenter,entityHEIGHT,entityWIDTH+20));
for (Monster monster : Jeu.getMonsterList()){ for (Monster monster : Jeu.getMonsterList()){
if (HitBox.collision(characterAttack.getHitBox(), monster.getHitBox())){ if (HitBox.collision(characterAttack.getHitBox(), monster.getHitBox())){
//le Math.max est la juste pour que la vie du perso ne tombe pas en-dessous de zero //le Math.max est la juste pour que la vie du perso ne tombe pas en-dessous de zero
......
...@@ -95,24 +95,24 @@ public class Jeu implements Game{ ...@@ -95,24 +95,24 @@ public class Jeu implements Game{
directionJeu.put("Attack",false); directionJeu.put("Attack",false);
//faut supp la pour table obstacles
obstacleTable.add(sol); obstacleTable.add(sol);
obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(300,550),32,128))); obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(300,550),32,128)));
obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(800, 625),150,50))); obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(800, 625),150,50)));
obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(600, 662.5),75,50))); obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(600, 662.5),75,50)));
obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(450, 400),32,128))); obstacleTable.add(new Obstacle(new HitBox(new Coordonnees(450, 400),32,128)));
//coffreTable.add(new Coffre(new HitBox(new Coordonnees(900, 685),30,30))); //coffreTable.add(new Coffre(new HitBox(new Coordonnees(900, 685),30,30))); //table des coffres
//on met des monstres //on met des monstres, faut supp la pour table monstres
monsterList.add(new Monster(new Coordonnees(1000, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,10)); monsterList.add(new Monster(new Coordonnees(1000, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,1));
monsterList.add(new Monster(new Coordonnees(500, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,10)); monsterList.add(new Monster(new Coordonnees(500, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,1));
monsterList.add(new Monster(new Coordonnees(100, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,10)); monsterList.add(new Monster(new Coordonnees(100, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,1));
monsterList.add(new Monster(new Coordonnees(300, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,10)); monsterList.add(new Monster(new Coordonnees(300, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,1));
//on charge le perso (a la fin du constructeur, cest important par rapport a obstacleTable, sinon y'a des pbs de "causalite") //on charge le perso (a la fin du constructeur, cest important par rapport a obstacleTable, sinon y'a des pbs de "causalite")
gameCharacterLoader = new CharacterLoader(characterSkinPath,new Character(new Coordonnees(300, 300), 2000, 1,600000)); gameCharacterLoader = new CharacterLoader(characterSkinPath,new Character(new Coordonnees(300, 300), 1500, 1,600000));
gameCharacter = new Character(new Coordonnees(xdebut, zdebut), 2000, 1,600000); gameCharacter = new Character(new Coordonnees(xdebut, zdebut), 1500, 1,600000);
//on remplit la map des frames //on remplit la map des frames
Map<String,Integer> tempMap = gameCharacterLoader.getPathTable(); Map<String,Integer> tempMap = gameCharacterLoader.getPathTable();
...@@ -122,6 +122,10 @@ public class Jeu implements Game{ ...@@ -122,6 +122,10 @@ public class Jeu implements Game{
tempMap.put("character_attack",3); tempMap.put("character_attack",3);
tempMap.put("character_run", 4); tempMap.put("character_run", 4);
tempMap.put("character_jump",1); tempMap.put("character_jump",1);
tempMap.put("character_jump_L",1);
tempMap.put("character_run_L",4);
tempMap.put("character_attack_L",3);
tempMap.put("character_idle_L",4);
gameCharacterLoader.setPathTable(tempMap); gameCharacterLoader.setPathTable(tempMap);
} }
...@@ -160,6 +164,7 @@ public class Jeu implements Game{ ...@@ -160,6 +164,7 @@ public class Jeu implements Game{
private void animation(Boolean Attack,Boolean Right,Boolean Left){ private void animation(Boolean Attack,Boolean Right,Boolean Left){
if (Attack && !characterAttacking) { if (Attack && !characterAttacking) {
movement = "character_attack"; movement = "character_attack";
if (gameCharacter.getDirection() == -1)movement += "_L";
characterAttacking = true; characterAttacking = true;
} }
...@@ -175,7 +180,10 @@ public class Jeu implements Game{ ...@@ -175,7 +180,10 @@ public class Jeu implements Game{
movement = "character_idle"; //ca changera quand j'aurai les nouvelles frames movement = "character_idle"; //ca changera quand j'aurai les nouvelles frames
} }
} }
if (gameCharacter.getDirection() == -1)movement += "_L";
} }
//si on a change de mouvement, le jeu doit redemarrer a la premiere frame correspondante //si on a change de mouvement, le jeu doit redemarrer a la premiere frame correspondante
//System.out.println(numberOfMovement); //System.out.println(numberOfMovement);
...@@ -183,7 +191,7 @@ public class Jeu implements Game{ ...@@ -183,7 +191,7 @@ public class Jeu implements Game{
if (numberOfMovement == gameCharacterLoader.getPathTable().get(movement)){ if (numberOfMovement == gameCharacterLoader.getPathTable().get(movement)){
//System.out.println(movement); //System.out.println(movement);
//characterNotMoving = true; //characterNotMoving = true;
if (movement.equals("character_attack")){ if (movement.equals("character_attack") || movement.equals("character_attack_L")){
characterAttacking = false; characterAttacking = false;
} }
} }
......
...@@ -54,8 +54,12 @@ public class Painter implements GamePainter{ ...@@ -54,8 +54,12 @@ public class Painter implements GamePainter{
private void drawCharacter(Graphics2D crayon,Image imageCharac){ private void drawCharacter(Graphics2D crayon,Image imageCharac){
crayon.fillRect(WIDTH/2-(int) gameCharacter.getEntityWIDTH()/2,WIDTH/2-(int) gameCharacter.getEntityHEIGHT()/2, (int) gameCharacter.getEntityWIDTH(),(int) gameCharacter.getEntityHEIGHT()); crayon.fillRect(WIDTH/2-(int) gameCharacter.getEntityWIDTH()/2,WIDTH/2-(int) gameCharacter.getEntityHEIGHT()/2, (int) gameCharacter.getEntityWIDTH(),(int) gameCharacter.getEntityHEIGHT());
crayon.drawRect(WIDTH/2-500,WIDTH/2-500, 1000,1000); crayon.drawRect(WIDTH/2-500,WIDTH/2-500, 1000,1000);
crayon.drawImage(imageCharac, WIDTH/2- (int) gameCharacter.getEntityWIDTH()/2-10, HEIGHT/2 - (int) gameCharacter.getEntityHEIGHT()/2-3, null, null); if (gameCharacter.getDirection() == 1){
crayon.drawImage(imageCharac, WIDTH/2- (int) gameCharacter.getEntityWIDTH()/2-10, HEIGHT/2 - (int) gameCharacter.getEntityHEIGHT()/2-3, null, null);
}
else{
crayon.drawImage(imageCharac, WIDTH/2- (int) gameCharacter.getEntityWIDTH()/2-10-20, HEIGHT/2 - (int) gameCharacter.getEntityHEIGHT()/2-3, null, null);
}
} }
private void drawLifePoints(Graphics2D crayon){ private void drawLifePoints(Graphics2D crayon){
......
MAVENProject/src/main/resources/Frames_perso/character_attack_L3.png

3.72 KiB

MAVENProject/src/main/resources/Frames_perso/character_idle_L2.png

3.14 KiB

MAVENProject/src/main/resources/Frames_perso/character_idle_L4.png

3.08 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment