From 53e15f00978dd0f5819293887b332920112baa36 Mon Sep 17 00:00:00 2001 From: Louis MALTERRE <malterre.louis@laposte.net> Date: Thu, 8 Dec 2022 14:43:20 +0100 Subject: [PATCH] animations faites, attaques du perso operationnelles LM --- .../src/main/java/entity/Character.java | 4 +-- MAVENProject/src/main/java/jeu/Jeu.java | 28 +++++++++++------- MAVENProject/src/main/java/jeu/Painter.java | 8 +++-- ..._attack1_L.png => character_attack_L1.png} | Bin ..._attack2_L.png => character_attack_L2.png} | Bin .../Frames_perso/character_attack_L3.png | Bin 0 -> 3810 bytes ...cter_idle1_L.png => character_idle_L1.png} | Bin .../Frames_perso/character_idle_L2.png | Bin 0 -> 3213 bytes ...cter_idle2_L.png => character_idle_L3.png} | Bin .../Frames_perso/character_idle_L4.png | Bin 0 -> 3157 bytes ...acter_jump_L.png => character_jump_L1.png} | Bin ...racter_run1_L.png => character_run_L1.png} | Bin ...racter_run2_L.png => character_run_L2.png} | Bin ...racter_run3_L.png => character_run_L3.png} | Bin ...racter_run4_L.png => character_run_L4.png} | Bin 15 files changed, 26 insertions(+), 14 deletions(-) rename MAVENProject/src/main/resources/Frames_perso/{character_attack1_L.png => character_attack_L1.png} (100%) rename MAVENProject/src/main/resources/Frames_perso/{character_attack2_L.png => character_attack_L2.png} (100%) create mode 100644 MAVENProject/src/main/resources/Frames_perso/character_attack_L3.png rename MAVENProject/src/main/resources/Frames_perso/{character_idle1_L.png => character_idle_L1.png} (100%) create mode 100644 MAVENProject/src/main/resources/Frames_perso/character_idle_L2.png rename MAVENProject/src/main/resources/Frames_perso/{character_idle2_L.png => character_idle_L3.png} (100%) create mode 100644 MAVENProject/src/main/resources/Frames_perso/character_idle_L4.png rename MAVENProject/src/main/resources/Frames_perso/{character_jump_L.png => character_jump_L1.png} (100%) rename MAVENProject/src/main/resources/Frames_perso/{character_run1_L.png => character_run_L1.png} (100%) rename MAVENProject/src/main/resources/Frames_perso/{character_run2_L.png => character_run_L2.png} (100%) rename MAVENProject/src/main/resources/Frames_perso/{character_run3_L.png => character_run_L3.png} (100%) rename MAVENProject/src/main/resources/Frames_perso/{character_run4_L.png => character_run_L4.png} (100%) diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java index 1c4ee7e..4ff2ff6 100644 --- a/MAVENProject/src/main/java/entity/Character.java +++ b/MAVENProject/src/main/java/entity/Character.java @@ -66,7 +66,7 @@ public class Character extends Entity{ 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(){ @@ -134,7 +134,7 @@ public class Character extends Entity{ @Override public void attaque(){ 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()){ 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 diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java index 1d7dfd5..e39366e 100644 --- a/MAVENProject/src/main/java/jeu/Jeu.java +++ b/MAVENProject/src/main/java/jeu/Jeu.java @@ -95,24 +95,24 @@ public class Jeu implements Game{ directionJeu.put("Attack",false); - + //faut supp la pour table obstacles obstacleTable.add(sol); 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(600, 662.5),75,50))); 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 - 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(500, 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,10)); - monsterList.add(new Monster(new Coordonnees(300, sol.getHitbox().getExtremites().get("HautGauche").getZ()-500), 1000, 30, 60, 1,10)); + //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,1)); + 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,1)); + 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") - gameCharacterLoader = new CharacterLoader(characterSkinPath,new Character(new Coordonnees(300, 300), 2000, 1,600000)); - gameCharacter = new Character(new Coordonnees(xdebut, zdebut), 2000, 1,600000); + gameCharacterLoader = new CharacterLoader(characterSkinPath,new Character(new Coordonnees(300, 300), 1500, 1,600000)); + gameCharacter = new Character(new Coordonnees(xdebut, zdebut), 1500, 1,600000); //on remplit la map des frames Map<String,Integer> tempMap = gameCharacterLoader.getPathTable(); @@ -122,6 +122,10 @@ public class Jeu implements Game{ tempMap.put("character_attack",3); tempMap.put("character_run", 4); 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); } @@ -160,6 +164,7 @@ public class Jeu implements Game{ private void animation(Boolean Attack,Boolean Right,Boolean Left){ if (Attack && !characterAttacking) { movement = "character_attack"; + if (gameCharacter.getDirection() == -1)movement += "_L"; characterAttacking = true; } @@ -175,7 +180,10 @@ public class Jeu implements Game{ 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 //System.out.println(numberOfMovement); @@ -183,7 +191,7 @@ public class Jeu implements Game{ if (numberOfMovement == gameCharacterLoader.getPathTable().get(movement)){ //System.out.println(movement); //characterNotMoving = true; - if (movement.equals("character_attack")){ + if (movement.equals("character_attack") || movement.equals("character_attack_L")){ characterAttacking = false; } } diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java index 4cdfb96..325a298 100644 --- a/MAVENProject/src/main/java/jeu/Painter.java +++ b/MAVENProject/src/main/java/jeu/Painter.java @@ -54,8 +54,12 @@ public class Painter implements GamePainter{ 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.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){ diff --git a/MAVENProject/src/main/resources/Frames_perso/character_attack1_L.png b/MAVENProject/src/main/resources/Frames_perso/character_attack_L1.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_attack1_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_attack_L1.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_attack2_L.png b/MAVENProject/src/main/resources/Frames_perso/character_attack_L2.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_attack2_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_attack_L2.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_attack_L3.png b/MAVENProject/src/main/resources/Frames_perso/character_attack_L3.png new file mode 100644 index 0000000000000000000000000000000000000000..72046758ec4a15e5f3efaf261397a47683eba0e7 GIT binary patch literal 3810 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 My85}Sb4q9e0PZg#eE<Le literal 0 HcmV?d00001 diff --git a/MAVENProject/src/main/resources/Frames_perso/character_idle1_L.png b/MAVENProject/src/main/resources/Frames_perso/character_idle_L1.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_idle1_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_idle_L1.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_idle_L2.png b/MAVENProject/src/main/resources/Frames_perso/character_idle_L2.png new file mode 100644 index 0000000000000000000000000000000000000000..b158570b88211f0189a8f57a0583186a9de2b558 GIT binary patch literal 3213 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 Hl+XkKu1pUq literal 0 HcmV?d00001 diff --git a/MAVENProject/src/main/resources/Frames_perso/character_idle2_L.png b/MAVENProject/src/main/resources/Frames_perso/character_idle_L3.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_idle2_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_idle_L3.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_idle_L4.png b/MAVENProject/src/main/resources/Frames_perso/character_idle_L4.png new file mode 100644 index 0000000000000000000000000000000000000000..0a43223d5d94b99717f474a76a2764b2e2a77df4 GIT binary patch literal 3157 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 D=n3vh literal 0 HcmV?d00001 diff --git a/MAVENProject/src/main/resources/Frames_perso/character_jump_L.png b/MAVENProject/src/main/resources/Frames_perso/character_jump_L1.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_jump_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_jump_L1.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_run1_L.png b/MAVENProject/src/main/resources/Frames_perso/character_run_L1.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_run1_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_run_L1.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_run2_L.png b/MAVENProject/src/main/resources/Frames_perso/character_run_L2.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_run2_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_run_L2.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_run3_L.png b/MAVENProject/src/main/resources/Frames_perso/character_run_L3.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_run3_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_run_L3.png diff --git a/MAVENProject/src/main/resources/Frames_perso/character_run4_L.png b/MAVENProject/src/main/resources/Frames_perso/character_run_L4.png similarity index 100% rename from MAVENProject/src/main/resources/Frames_perso/character_run4_L.png rename to MAVENProject/src/main/resources/Frames_perso/character_run_L4.png -- GitLab