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