diff --git a/Zoelda/src/main/HUD.java b/Zoelda/src/main/HUD.java index c8e5db6..d278c37 100644 --- a/Zoelda/src/main/HUD.java +++ b/Zoelda/src/main/HUD.java @@ -1,27 +1,32 @@ package main; -import java.awt.Graphics2D; -import java.awt.image.BufferedImage; -import java.io.IOException; -import javax.imageio.ImageIO; import ea.BoundingRechteck; import ea.Knoten; import ea.Ticker; +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; + public class HUD extends Knoten implements Ticker { private BufferedImage volles_Herz; private BufferedImage halbes_Herz; private BufferedImage leeres_Herz; + private BufferedImage inventory; private BufferedImage hauptBild; private BufferedImage[] HPLeiste; private final static int SCALE = 50; + private boolean shakingSwitch; + private float HPVel; public HUD() { // inizialisieren der Variablen, laden der Bilder und für den ticker anmelden HPLeiste = new BufferedImage[3]; - Main.instance.manager.anmelden(this, 50); + Main.instance.manager.anmelden(this, 200); try { hauptBild = ImageIO.read(HUD.class.getResourceAsStream("/res/images/icons.png")); + inventory = ImageIO.read(HUD.class.getResourceAsStream("/res/images/inventory.png")); } catch (IOException e) { e.printStackTrace(); } @@ -39,8 +44,22 @@ public class HUD extends Knoten implements Ticker { HPLeiste[1] = volles_Herz; HPLeiste[2] = volles_Herz; } + + private int changeY () { + int y = 0; + if(Main.instance.getWorld().getPlayer().getHP() < 0.33f) { + shakingSwitch = !shakingSwitch; + if(shakingSwitch == true) { + return y+=3; + } + } + if(HPVel > 0) { + + } + return y; + } - //wird alle 50ms ausgeführt: + //wird alle 200ms ausgeführt: @Override public void tick() { // teilt den Wert der HP in Teile auf, welche der Anzahl der Herzen entspricht @@ -49,7 +68,6 @@ public class HUD extends Knoten implements Ticker { float localeHP; for (int i = 0; i < HPLeiste.length; i++) { localeHP = Main.instance.getWorld().getPlayer().getHP(); - ; localeHP -= ((float) i) * (1f / HPLeiste.length); if (localeHP <= 0f) { HPLeiste[i] = leeres_Herz; @@ -65,8 +83,9 @@ public class HUD extends Knoten implements Ticker { @Override public void zeichnen(Graphics2D g, BoundingRechteck r) { for (int i = 0; i < HPLeiste.length; i++) { - g.drawImage(HPLeiste[i], i * SCALE, 0, SCALE, SCALE, null); + g.drawImage(HPLeiste[i], (i+2) * SCALE, changeY(), SCALE, SCALE, null); } + g.drawImage(inventory,0,0,SCALE*2,SCALE*2,null); } } diff --git a/Zoelda/src/main/World.java b/Zoelda/src/main/World.java index 54a6df2..d8cc90d 100644 --- a/Zoelda/src/main/World.java +++ b/Zoelda/src/main/World.java @@ -1,12 +1,12 @@ package main; -import java.util.ArrayList; - import ea.Knoten; import main.entities.player.Player; import main.maps.ImageMap; import main.maps.Map; +import java.util.ArrayList; + /** * Hier werden alle Maps gespeichert. */ diff --git a/Zoelda/src/res/images/Inventar.png b/Zoelda/src/res/images/inventory.png similarity index 100% rename from Zoelda/src/res/images/Inventar.png rename to Zoelda/src/res/images/inventory.png