spider fix + entity list
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package main;
|
||||
|
||||
import ea.Game;
|
||||
import ea.Manager;
|
||||
import main.entities.Player;
|
||||
|
||||
/**
|
||||
* Von hier wird alles initialisiert. Das ist die höchste Klasse.
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package main;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import ea.Knoten;
|
||||
import ea.Manager;
|
||||
import main.entities.Entity;
|
||||
import main.entities.Player;
|
||||
import main.entities.Spider;
|
||||
import main.maps.Map;
|
||||
@@ -16,21 +18,31 @@ public class World extends Knoten {
|
||||
public static final int SCALE = SCALE_FACTOR * Tile.getSize(); // Eine Gameunit ist so viele pixel lang
|
||||
|
||||
private Map currentMap; // Die Map die aktuell angezeigt werden soll.
|
||||
private ArrayList<Entity> entities;
|
||||
|
||||
public World(Malin main) {
|
||||
Player player = new Player(main);
|
||||
|
||||
entities = new ArrayList<>(100);
|
||||
|
||||
// Map initialisieren
|
||||
currentMap = new TestMap();
|
||||
// Map zu EA hinzufügen
|
||||
add(currentMap);
|
||||
// und Spieler auch
|
||||
add(player.actionFigur);
|
||||
//und Spinnen auch
|
||||
add(new Spider(main).actionFigur);
|
||||
|
||||
Manager manager = new Manager();
|
||||
// Den Spieler als ticker registrieren (triggert dann die update methoden)
|
||||
manager.anmelden(player, 20);
|
||||
// und Entities auch
|
||||
Player player = new Player(main);
|
||||
add(player.actionFigur);
|
||||
entities.add(player);
|
||||
|
||||
Spider spider = new Spider(main);
|
||||
// und Spinnen auch
|
||||
add(spider.actionFigur);
|
||||
entities.add(spider);
|
||||
|
||||
// Alle Entities als ticker registrieren (triggert dann die update methoden)
|
||||
for (Entity e : entities) {
|
||||
main.manager.anmelden(e, 20);
|
||||
}
|
||||
}
|
||||
|
||||
public Map getCurrentMap() {
|
||||
|
||||
@@ -13,7 +13,7 @@ public class LivingEntity extends Entity {
|
||||
public ActionFigur actionFigur; // Sprite des Entities
|
||||
protected float spriteScale = 1f; // Skalierung des Sprites
|
||||
protected float spriteOffsetX, spriteOffsetY; // Offset des Sprites. Hier kann man die relative render-Position nachjustieren.
|
||||
protected float hp; //hp des Entitys
|
||||
protected float hp = 1f; //hp des Entitys
|
||||
/**
|
||||
* @param figur - erstes (standart) Sprite
|
||||
* @param name - name des Zustands
|
||||
|
||||
@@ -20,7 +20,6 @@ public class Player extends LivingEntity {
|
||||
spriteScale = 0.8f;
|
||||
posX = 4f;
|
||||
posY = 4f;
|
||||
hp = 10f;
|
||||
|
||||
// unterschiedliche Animationsgeschwindigkeiten
|
||||
// für idle
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package main.entities;
|
||||
|
||||
import ea.Figur;
|
||||
import main.Malin;
|
||||
import main.SheetLoader;
|
||||
|
||||
public class Spider extends LivingEntity {
|
||||
|
||||
private Malin main; // Referenz auf die main Klasse. Wird später für den Keyboardinput verwendet
|
||||
private static SheetLoader loader = new SheetLoader("/res/images/spider_sprite_sheet.png", 64, 32, new int[] {5, 8, 7, 6, 2, 5, 4, 7});
|
||||
private static SheetLoader loader = new SheetLoader("/res/images/spider_sprite_sheet.png", 32, 32,
|
||||
new int[] { 5, 6, 9, 1, 4, 3, 9, 6, 5, 6, 9, 1, 4, 3, 9, 6 });
|
||||
|
||||
public Spider(Malin main) {
|
||||
super(loader.getFigur(5), "walk");
|
||||
super(loader.getFigur(0), "walk");
|
||||
this.main = main;
|
||||
|
||||
width = 0.7f;
|
||||
@@ -19,9 +19,8 @@ public class Spider extends LivingEntity {
|
||||
spriteScale = 0.8f;
|
||||
posX = 4f;
|
||||
posY = 4f;
|
||||
hp = 10f;
|
||||
|
||||
}
|
||||
|
||||
protected void update() {
|
||||
|
||||
// auf Kollisionen prüfen
|
||||
@@ -34,6 +33,3 @@ public class Spider extends LivingEntity {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user