Spider added (beta)
World.java changes + spider added
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
39
Zoelda/src/main/entities/Spider.java
Normal file
39
Zoelda/src/main/entities/Spider.java
Normal 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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BIN
Zoelda/src/res/images/spider_sprite_sheet.png
Normal file
BIN
Zoelda/src/res/images/spider_sprite_sheet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
Reference in New Issue
Block a user