Skip to content
Snippets Groups Projects
Commit fe26c446 authored by Scherbaum Maximilian's avatar Scherbaum Maximilian
Browse files

update IEntity.java, update Player.java #6

parent 1cd3b517
No related branches found
No related tags found
4 merge requests!74V1,!73Initial commit,!71Merge DataBase into Development,!3merging player for integration testing
package de.hdm_stuttgart.battlearena.Model.Entity;
import javafx.scene.canvas.GraphicsContext;
public interface IEntity {
}
void initializeEntity();
void loadEntitySprites();
void updateEntityMovement();
void updateEntityAnimation();
void renderEntity(GraphicsContext graphicsContext);
}
\ No newline at end of file
package de.hdm_stuttgart.battlearena.Model.Entity;
import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.shape.Rectangle;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import java.util.Objects;
public class Player implements IEntity {
private static final Logger log = LogManager.getLogger(Player.class);
}
InputHandler inputHandler;
GraphicsContext gameScene;
private final Rectangle boxCollider = new Rectangle(8, 16, 32, 32);
private Image directionDownOne, directionDownTwo;
private int spriteCounter = 0;
private int spriteNumber = 1;
private int mapPosX;
private int mapPosY;
private int playerSpeed;
private String playerDirection;
public Player(GraphicsContext gameScene, InputHandler inputHandler) {
this.gameScene = gameScene;
this.inputHandler = inputHandler;
initializeEntity();
loadEntitySprites();
}
@Override
public void initializeEntity() {
mapPosX = 10;
mapPosY = 10;
playerSpeed = 3;
playerDirection = "down";
}
@Override
public void loadEntitySprites() {
try {
directionDownOne = new Image(Objects.requireNonNull(getClass().getResourceAsStream("textures/player/playerPlaceholder.png")));
directionDownTwo = new Image(Objects.requireNonNull(getClass().getResourceAsStream("textures/player/playerPlaceholder.png")));
} catch (Exception e) {
log.error(e);
}
}
@Override
public void updateEntityMovement() {
if (inputHandler.isMoveUp() || inputHandler.isMoveDown() || inputHandler.isMoveLeft() || inputHandler.isMoveRight()) {
if (inputHandler.isMoveUp()) {
playerDirection = "up";
} else if (inputHandler.isMoveDown()) {
playerDirection = "down";
} else if (inputHandler.isMoveLeft()) {
playerDirection = "left";
} else {
playerDirection = "right";
}
}
boolean isColliding = false;
if (!isColliding) {
switch (playerDirection) {
case "up":
mapPosY -= playerSpeed;
break;
case "down":
mapPosY += playerSpeed;
break;
case "left":
mapPosX -= playerSpeed;
break;
case "right":
mapPosX += playerSpeed;
}
}
updateEntityAnimation();
}
@Override
public void updateEntityAnimation() {
spriteCounter++;
if (spriteCounter > 10) {
if (spriteNumber == 1) {
spriteNumber = 2;
} else if (spriteNumber == 2) {
spriteNumber = 1;
}
spriteCounter = 0;
}
}
@Override
public void renderEntity(GraphicsContext graphicsContext) {
Image playerSprite = null;
switch (playerDirection) {
case "up":
if (spriteNumber == 1) {
playerSprite = directionDownOne;
}
if (spriteNumber == 2) {
playerSprite = directionDownTwo;
}
case "down":
if (spriteNumber == 1) {
playerSprite = directionDownOne;
}
if (spriteNumber == 2) {
playerSprite = directionDownTwo;
}
case "left":
if (spriteNumber == 1) {
playerSprite = directionDownOne;
}
if (spriteNumber == 2) {
playerSprite = directionDownTwo;
}
case "right":
if (spriteNumber == 1) {
playerSprite = directionDownOne;
}
if (spriteNumber == 2) {
playerSprite = directionDownTwo;
}
}
graphicsContext.drawImage(playerSprite, mapPosX, mapPosY, 48, 48);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment