diff --git a/assets/player/attack/boy_attack_down_1.png b/assets/player/attack/boy_attack_down_1.png new file mode 100644 index 0000000..af9c08e Binary files /dev/null and b/assets/player/attack/boy_attack_down_1.png differ diff --git a/assets/player/attack/boy_attack_down_2.png b/assets/player/attack/boy_attack_down_2.png new file mode 100644 index 0000000..c20a378 Binary files /dev/null and b/assets/player/attack/boy_attack_down_2.png differ diff --git a/assets/player/attack/boy_attack_left_1.png b/assets/player/attack/boy_attack_left_1.png new file mode 100644 index 0000000..d65dfc0 Binary files /dev/null and b/assets/player/attack/boy_attack_left_1.png differ diff --git a/assets/player/attack/boy_attack_left_2.png b/assets/player/attack/boy_attack_left_2.png new file mode 100644 index 0000000..45471e1 Binary files /dev/null and b/assets/player/attack/boy_attack_left_2.png differ diff --git a/assets/player/attack/boy_attack_right_1.png b/assets/player/attack/boy_attack_right_1.png new file mode 100644 index 0000000..17b1649 Binary files /dev/null and b/assets/player/attack/boy_attack_right_1.png differ diff --git a/assets/player/attack/boy_attack_right_2.png b/assets/player/attack/boy_attack_right_2.png new file mode 100644 index 0000000..c677e08 Binary files /dev/null and b/assets/player/attack/boy_attack_right_2.png differ diff --git a/assets/player/attack/boy_attack_up_1.png b/assets/player/attack/boy_attack_up_1.png new file mode 100644 index 0000000..a09fb98 Binary files /dev/null and b/assets/player/attack/boy_attack_up_1.png differ diff --git a/assets/player/attack/boy_attack_up_2.png b/assets/player/attack/boy_attack_up_2.png new file mode 100644 index 0000000..369ead0 Binary files /dev/null and b/assets/player/attack/boy_attack_up_2.png differ diff --git a/assets/player/attack/boy_axe_down_1.png b/assets/player/attack/boy_axe_down_1.png new file mode 100644 index 0000000..fcd3c5b Binary files /dev/null and b/assets/player/attack/boy_axe_down_1.png differ diff --git a/assets/player/attack/boy_axe_down_2.png b/assets/player/attack/boy_axe_down_2.png new file mode 100644 index 0000000..960e792 Binary files /dev/null and b/assets/player/attack/boy_axe_down_2.png differ diff --git a/assets/player/attack/boy_axe_left_1.png b/assets/player/attack/boy_axe_left_1.png new file mode 100644 index 0000000..6ebad7b Binary files /dev/null and b/assets/player/attack/boy_axe_left_1.png differ diff --git a/assets/player/attack/boy_axe_left_2.png b/assets/player/attack/boy_axe_left_2.png new file mode 100644 index 0000000..6335bd6 Binary files /dev/null and b/assets/player/attack/boy_axe_left_2.png differ diff --git a/assets/player/attack/boy_axe_right_1.png b/assets/player/attack/boy_axe_right_1.png new file mode 100644 index 0000000..c17709a Binary files /dev/null and b/assets/player/attack/boy_axe_right_1.png differ diff --git a/assets/player/attack/boy_axe_right_2.png b/assets/player/attack/boy_axe_right_2.png new file mode 100644 index 0000000..6fa376c Binary files /dev/null and b/assets/player/attack/boy_axe_right_2.png differ diff --git a/assets/player/attack/boy_axe_up_1.png b/assets/player/attack/boy_axe_up_1.png new file mode 100644 index 0000000..cc12667 Binary files /dev/null and b/assets/player/attack/boy_axe_up_1.png differ diff --git a/assets/player/attack/boy_axe_up_2.png b/assets/player/attack/boy_axe_up_2.png new file mode 100644 index 0000000..46d67cc Binary files /dev/null and b/assets/player/attack/boy_axe_up_2.png differ diff --git a/assets/player/attack/boy_pick_down_1.png b/assets/player/attack/boy_pick_down_1.png new file mode 100644 index 0000000..f84f5ff Binary files /dev/null and b/assets/player/attack/boy_pick_down_1.png differ diff --git a/assets/player/attack/boy_pick_down_2.png b/assets/player/attack/boy_pick_down_2.png new file mode 100644 index 0000000..0ad92b9 Binary files /dev/null and b/assets/player/attack/boy_pick_down_2.png differ diff --git a/assets/player/attack/boy_pick_left_1.png b/assets/player/attack/boy_pick_left_1.png new file mode 100644 index 0000000..6fde35b Binary files /dev/null and b/assets/player/attack/boy_pick_left_1.png differ diff --git a/assets/player/attack/boy_pick_left_2.png b/assets/player/attack/boy_pick_left_2.png new file mode 100644 index 0000000..2233001 Binary files /dev/null and b/assets/player/attack/boy_pick_left_2.png differ diff --git a/assets/player/attack/boy_pick_right_1.png b/assets/player/attack/boy_pick_right_1.png new file mode 100644 index 0000000..a320693 Binary files /dev/null and b/assets/player/attack/boy_pick_right_1.png differ diff --git a/assets/player/attack/boy_pick_right_2.png b/assets/player/attack/boy_pick_right_2.png new file mode 100644 index 0000000..5dedc3e Binary files /dev/null and b/assets/player/attack/boy_pick_right_2.png differ diff --git a/assets/player/attack/boy_pick_up_1.png b/assets/player/attack/boy_pick_up_1.png new file mode 100644 index 0000000..2811cb1 Binary files /dev/null and b/assets/player/attack/boy_pick_up_1.png differ diff --git a/assets/player/attack/boy_pick_up_2.png b/assets/player/attack/boy_pick_up_2.png new file mode 100644 index 0000000..f17aa45 Binary files /dev/null and b/assets/player/attack/boy_pick_up_2.png differ diff --git a/src/de/miaurizius/jgame2d/entity/Entity.java b/src/de/miaurizius/jgame2d/entity/Entity.java index 7fb87a3..c4b5a2c 100644 --- a/src/de/miaurizius/jgame2d/entity/Entity.java +++ b/src/de/miaurizius/jgame2d/entity/Entity.java @@ -31,6 +31,7 @@ public class Entity { int dialogueIndex = 0; public boolean collisionOn = false; public boolean invincible = false; + boolean attacking = false; //TODO: https://youtu.be/HL39xRzPpm4?t=551 // COUNTER public int spriteCounter = 0; @@ -127,4 +128,13 @@ public class Entity { return null; } + public BufferedImage initEntitySprites(String name, int width, int height) { + try { + return Utility.scaleImage(ImageIO.read(new FileInputStream("assets/" + name + ".png")), width, height); + } catch (IOException e) { + Boot.logger.log(Level.SEVERE, "Could not load entity-image", e); + } + return null; + } + } diff --git a/src/de/miaurizius/jgame2d/entity/Player.java b/src/de/miaurizius/jgame2d/entity/Player.java index 0eff3e3..7d9581b 100644 --- a/src/de/miaurizius/jgame2d/entity/Player.java +++ b/src/de/miaurizius/jgame2d/entity/Player.java @@ -31,13 +31,12 @@ public class Player extends Entity { setDefaultValues(); getPlayerImage(); + getPlayerAttackImage(); } public void setDefaultValues() { worldX = panel.tileSize * 23; worldY = panel.tileSize * 21; -// worldX = panel.tileSize * 10; -// worldY = panel.tileSize * 13; speed = 4; direction = Direction.DOWN; @@ -46,17 +45,6 @@ public class Player extends Entity { life = maxLife; } - public void getPlayerImage() { - up1 = initEntitySprites("player/boy_up_1"); - up2 = initEntitySprites("player/boy_up_2"); - down1 = initEntitySprites("player/boy_down_1"); - down2 = initEntitySprites("player/boy_down_2"); - left1 = initEntitySprites("player/boy_left_1"); - left2 = initEntitySprites("player/boy_left_2"); - right1 = initEntitySprites("player/boy_right_1"); - right2 = initEntitySprites("player/boy_right_2"); - } - public void update() { // MOVEMENT if(keyH.upPressed || keyH.downPressed || keyH.leftPressed || keyH.rightPressed || keyH.spacePressed) { @@ -147,4 +135,26 @@ public class Player extends Entity { super.speak(); } + public void getPlayerImage() { + up1 = initEntitySprites("player/boy_up_1"); + up2 = initEntitySprites("player/boy_up_2"); + down1 = initEntitySprites("player/boy_down_1"); + down2 = initEntitySprites("player/boy_down_2"); + left1 = initEntitySprites("player/boy_left_1"); + left2 = initEntitySprites("player/boy_left_2"); + right1 = initEntitySprites("player/boy_right_1"); + right2 = initEntitySprites("player/boy_right_2"); + } + + public void getPlayerAttackImage() { + attackUp1 = initEntitySprites("player/attack/boy_attack_up_1", panel.tileSize, panel.tileSize*2); + attackUp2 = initEntitySprites("player/attack/boy_attack_up_2", panel.tileSize, panel.tileSize*2); + attackDown1 = initEntitySprites("player/attack/boy_attack_down_1", panel.tileSize, panel.tileSize*2); + attackDown2 = initEntitySprites("player/attack/boy_attack_down_2", panel.tileSize, panel.tileSize*2); + attackLeft1 = initEntitySprites("player/attack/boy_attack_left_1", panel.tileSize*2, panel.tileSize); + attackLeft2 = initEntitySprites("player/attack/boy_attack_left_2", panel.tileSize*2, panel.tileSize); + attackRight1 = initEntitySprites("player/attack/boy_attack_right_1", panel.tileSize*2, panel.tileSize); + attackRight2 = initEntitySprites("player/attack/boy_attack_right_2", panel.tileSize*2, panel.tileSize); + } + }