sanke damage animation attempt
This commit is contained in:
@@ -3,6 +3,7 @@ package main.entities;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import ea.Taste;
|
import ea.Taste;
|
||||||
|
import ea.Vektor;
|
||||||
import main.Main;
|
import main.Main;
|
||||||
import main.SheetLoader;
|
import main.SheetLoader;
|
||||||
|
|
||||||
@@ -75,24 +76,30 @@ public class Player extends LivingEntity {
|
|||||||
if (Main.instance.tasteGedrueckt(Taste.F)) {
|
if (Main.instance.tasteGedrueckt(Taste.F)) {
|
||||||
zustandSetzen("die");
|
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
|
// LivingEntity auch updaten lassen
|
||||||
super.update();
|
super.update();
|
||||||
} else {
|
} else {
|
||||||
velX = 0;
|
velX = 0;
|
||||||
velY = 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,12 +5,11 @@ import java.util.ArrayList;
|
|||||||
import ea.Vektor;
|
import ea.Vektor;
|
||||||
import main.Main;
|
import main.Main;
|
||||||
import main.SheetLoader;
|
import main.SheetLoader;
|
||||||
import main.Tile;
|
|
||||||
|
|
||||||
public class Snake extends LivingEntity {
|
public class Snake extends LivingEntity {
|
||||||
|
|
||||||
private static SheetLoader loader = new SheetLoader("/res/images/snake_spritesheet_calciumtrice.png", 32, 32,
|
private static SheetLoader loader = new SheetLoader("/res/images/snake_spritesheet_calciumtrice.png", 32, 32,
|
||||||
new int[] { 10, 10, 10, 10, 10, 8});
|
new int[] { 10, 10, 10, 10, 10, 8 });
|
||||||
|
|
||||||
public Snake() {
|
public Snake() {
|
||||||
super(loader.getFigur(0), "idle");
|
super(loader.getFigur(0), "idle");
|
||||||
@@ -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) {
|
if (dist(nearestPlayer) < 1f) {
|
||||||
zustandSetzen("attack");
|
zustandSetzen("attack");
|
||||||
} else {
|
} else {
|
||||||
@@ -64,7 +63,16 @@ public class Snake extends LivingEntity {
|
|||||||
zustandSetzen("idle");
|
zustandSetzen("idle");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (actionFigur.aktuellesVerhalten().equals("damage") && actionFigur.aktuelleFigur().aktuellesBild() < actionFigur.aktuelleFigur().animation().length - 1){
|
||||||
|
zustandSetzen("walk");
|
||||||
|
}
|
||||||
this.checkTileCollisions(Main.instance.getWorld().getCurrentMap());
|
this.checkTileCollisions(Main.instance.getWorld().getCurrentMap());
|
||||||
super.update();
|
super.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void takeDamage(float damage) {
|
||||||
|
zustandSetzen("damage");
|
||||||
|
super.takeDamage(damage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user