Spider added (beta)

World.java changes + spider added
This commit is contained in:
04Mlg04
2021-06-23 19:07:30 +02:00
parent 8b0285d3a8
commit 882905ce81
6 changed files with 53 additions and 15 deletions

View File

@@ -10,7 +10,6 @@ import main.entities.Player;
public class Malin extends Game { public class Malin extends Game {
private World world; private World world;
private Player player;
public static final int WIDTH = 1440; // Fensterbreite public static final int WIDTH = 1440; // Fensterbreite
public static final int HEIGHT = 1056; // Fensterhöhe public static final int HEIGHT = 1056; // Fensterhöhe
@@ -18,17 +17,10 @@ public class Malin extends Game {
public Malin() { public Malin() {
super(WIDTH, HEIGHT); super(WIDTH, HEIGHT);
// Lönk
player = new Player(this);
// Welt initialisieren und Spieler hinzufügen // Welt initialisieren und Spieler hinzufügen
world = new World(player); world = new World(this);
// die Welt zu EA hinzufügen // die Welt zu EA hinzufügen
wurzel.add(world); wurzel.add(world);
Manager manager = new Manager();
// Den Spieler als ticker registrieren (triggert dann die update methoden)
manager.anmelden(player, 20);
} }
@Override @Override

View File

@@ -1,7 +1,9 @@
package main; package main;
import ea.Knoten; import ea.Knoten;
import ea.Manager;
import main.entities.Player; import main.entities.Player;
import main.entities.Spider;
import main.maps.Map; import main.maps.Map;
import main.maps.TestMap; import main.maps.TestMap;
@@ -15,14 +17,20 @@ public class World extends Knoten {
private Map currentMap; // Die Map die aktuell angezeigt werden soll. private Map currentMap; // Die Map die aktuell angezeigt werden soll.
public World(Player player) { public World(Malin main) {
Player player = new Player(main);
// 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 Spieler auch
add(player.actionFigur); 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);
} }
public Map getCurrentMap() { public Map getCurrentMap() {

View File

@@ -1,8 +1,8 @@
package main; package main.entities;
import ea.ActionFigur; import ea.ActionFigur;
import ea.Figur; import ea.Figur;
import main.entities.Entity; import main.World;
/* /*
* Alles was zustände hat und sich Bewegen kann, ist ein LivingEntity. * Alles was zustände hat und sich Bewegen kann, ist ein LivingEntity.
@@ -10,7 +10,7 @@ import main.entities.Entity;
public class LivingEntity extends Entity { public class LivingEntity extends Entity {
protected boolean side; // true = gespiegelt, false = nicht protected boolean side; // true = gespiegelt, false = nicht
protected 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; //hp des Entitys

View File

@@ -1,7 +1,6 @@
package main.entities; package main.entities;
import ea.Taste; import ea.Taste;
import main.LivingEntity;
import main.Malin; import main.Malin;
import main.SheetLoader; import main.SheetLoader;

View File

@@ -0,0 +1,39 @@
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});
public Spider(Malin main) {
super(loader.getFigur(5), "walk");
this.main = main;
width = 0.7f;
height = 0.8f;
spriteOffsetY = -0.14f;
spriteScale = 0.8f;
posX = 4f;
posY = 4f;
hp = 10f;
}
protected void update() {
// auf Kollisionen prüfen
checkTileCollisions(main.getWorld().getCurrentMap());
// LivingEntity auch updaten lassen
super.update();
velX = 0;
velY = 0;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB