This commit is contained in:
Tim 2021-06-28 09:49:41 +02:00
commit 1555acd781
3 changed files with 29 additions and 10 deletions

View File

@ -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);
}
}

View File

@ -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.
*/

View File

Before

Width:  |  Height:  |  Size: 116 B

After

Width:  |  Height:  |  Size: 116 B