sanke damage animation attempt
This commit is contained in:
@@ -3,6 +3,7 @@ package main.entities;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import ea.Taste;
|
||||
import ea.Vektor;
|
||||
import main.Main;
|
||||
import main.SheetLoader;
|
||||
|
||||
@@ -75,24 +76,30 @@ public class Player extends LivingEntity {
|
||||
if (Main.instance.tasteGedrueckt(Taste.F)) {
|
||||
zustandSetzen("die");
|
||||
}
|
||||
|
||||
if (actionFigur.aktuellesVerhalten().equals("swipe") && actionFigur.aktuelleFigur().aktuellesBild() == 1) {
|
||||
ArrayList<Entity> entities = Main.instance.getWorld().getCurrentMap().getEntities();
|
||||
for (Entity e : entities) {
|
||||
if (e instanceof LivingEntity) {
|
||||
((LivingEntity) e).takeDamage(0.1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// auf Kollisionen prüfen
|
||||
checkTileCollisions(Main.instance.getWorld().getCurrentMap());
|
||||
// LivingEntity auch updaten lassen
|
||||
super.update();
|
||||
} else {
|
||||
velX = 0;
|
||||
velY = 0;
|
||||
}
|
||||
|
||||
// auf Kollisionen prüfen
|
||||
checkTileCollisions(Main.instance.getWorld().getCurrentMap());
|
||||
|
||||
if (actionFigur.aktuellesVerhalten().equals("swipe") && actionFigur.aktuelleFigur().aktuellesBild() == 1) {
|
||||
ArrayList<Entity> entities = Main.instance.getWorld().getCurrentMap().getEntities();
|
||||
for (Entity e : entities) {
|
||||
if (e instanceof LivingEntity && e != this) {
|
||||
LivingEntity le = (LivingEntity) e;
|
||||
Vektor toE = vectorToEntity(le);
|
||||
toE = toE.normiert();
|
||||
le.velX += toE.x * 0.05f;
|
||||
le.velY += toE.y * 0.05f;
|
||||
le.takeDamage(0.1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ import java.util.ArrayList;
|
||||
import ea.Vektor;
|
||||
import main.Main;
|
||||
import main.SheetLoader;
|
||||
import main.Tile;
|
||||
|
||||
public class Snake extends LivingEntity {
|
||||
|
||||
@@ -41,7 +40,7 @@ public class Snake extends LivingEntity {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (nearestPlayer != null && lineOfSightClear(nearestPlayer)) {
|
||||
if (nearestPlayer != null && lineOfSightClear(nearestPlayer) && !actionFigur.aktuellesVerhalten().equals("damage")) {
|
||||
if (dist(nearestPlayer) < 1f) {
|
||||
zustandSetzen("attack");
|
||||
} else {
|
||||
@@ -64,7 +63,16 @@ public class Snake extends LivingEntity {
|
||||
zustandSetzen("idle");
|
||||
}
|
||||
}
|
||||
if (actionFigur.aktuellesVerhalten().equals("damage") && actionFigur.aktuelleFigur().aktuellesBild() < actionFigur.aktuelleFigur().animation().length - 1){
|
||||
zustandSetzen("walk");
|
||||
}
|
||||
this.checkTileCollisions(Main.instance.getWorld().getCurrentMap());
|
||||
super.update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void takeDamage(float damage) {
|
||||
zustandSetzen("damage");
|
||||
super.takeDamage(damage);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user