faiowhgioahguiosehjioseajioh

master
GammelJan 6 years ago
parent 6377ab95d6
commit ddf03094bf

@ -59,11 +59,6 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
float volume; float volume;
Texture verticalAttack;
Texture horizontalAttack;
Sprite verticalAttackSprite;
Sprite horizontalAttackSprite;
Timer entityMovement; Timer entityMovement;
boolean isPaused; boolean isPaused;
@ -195,7 +190,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(gs.entitySprites[i].getAttackState() == 2 && d.getCurrentEntities()[i].getId() != 0){ if(gs.entitySprites[i].getAttackState() == 2 && d.getCurrentEntities()[i].getId() != 0){
gs.entitySprites[i].resetAttackState(); gs.entitySprites[i].resetAttackState();
} }
if(gs.player.getAttackState() == 2){
playerAttack(d.getCurrentEntities(), d.getPlayer(), d.getPlayer().getDirection());
}
if(overlaps){ if(overlaps){
d.getCurrentEntities()[i].setxPos(x); d.getCurrentEntities()[i].setxPos(x);
d.getCurrentEntities()[i].setyPos(y); d.getCurrentEntities()[i].setyPos(y);
@ -334,6 +331,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
System.out.println("Es laedt, es laedt, ich will nicht, dass es laedt, wenn es laedt, muss man immer so lange warten!!!!!"); System.out.println("Es laedt, es laedt, ich will nicht, dass es laedt, wenn es laedt, muss man immer so lange warten!!!!!");
} }
} }
d.getPlayer().updateDirection();
} }
public void updateRoom(){ public void updateRoom(){
@ -442,6 +440,66 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
return garbageCollector; return garbageCollector;
} }
public Entity[] playerAttack(Entity e[], Player p, int attackDirection){
EntitySprite player = gs.getPlayer();
EntitySprite[] entitySprites = gs.entitySprites;
if(player.getAttackState() == 0){
player.startAttack();
}
else if(player.getAttackState() == 1){
player.resetAttackState();
player.startAttack();
}
else if(player.getAttackState() == 2){
if(attackDirection== 0){
Texture attackTexture = new Texture("sprites/AttackVert.png");
Sprite attackSprite = new Sprite(attackTexture);
attackSprite.setX(p.getxPos() - 32f);
attackSprite.setY(p.getyPos() - 8f);
for(int i = 0; i < e.length ; i++){
if(entitySprites[i] != null){
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
}
}
}
}
}
}
else if(attackDirection== 1){
Texture attackTexture = new Texture("sprites/AttackVert.png");
Sprite attackSprite = new Sprite(attackTexture);
attackSprite.setX(p.getxPos()+ 32f);
attackSprite.setY(p.getyPos()- 2f);
for(int i = 0; i< e.length ; i++){
if(entitySprites[i] != null){
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
}
}
}
}
}
}
player.resetAttackState();
}
return e;
}
@Override @Override
public boolean keyDown(int keycode) { public boolean keyDown(int keycode) {
@ -481,7 +539,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(keycode == Input.Keys.SPACE){ if(keycode == Input.Keys.SPACE){
if(mm != null){} if(mm != null){}
if(gs != null && gs.getIsLoading() == false){ if(gs != null && gs.getIsLoading() == false){
d.setCurrentEntities(gs.playerAttack(d.getCurrentEntities(), d.getPlayer(), 0)); d.setCurrentEntities(playerAttack(d.getCurrentEntities(), d.getPlayer(), 0));
} }
} }
@ -533,7 +591,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(mm != null){ if(mm != null){
} }
if(gs != null){ if(gs != null){
d.getPlayer().setMovementX(0); if(d.getPlayer().getMovementX() < 0){
d.getPlayer().setMovementX(0);
}
} }
} }
@ -541,7 +601,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(mm != null){ if(mm != null){
} }
if(gs != null){ if(gs != null){
d.getPlayer().setMovementX(0); if(d.getPlayer().getMovementX() > 0){
d.getPlayer().setMovementX(0);
}
} }
} }
@ -549,7 +611,10 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(mm != null){ if(mm != null){
} }
if(gs != null){ if(gs != null){
d.getPlayer().setMovementY(0); if(d.getPlayer().getMovementY() < 0){
d.getPlayer().setMovementY(0);
}
} }
} }
@ -557,7 +622,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(mm != null){ if(mm != null){
} }
if(gs != null){ if(gs != null){
d.getPlayer().setMovementY(0); if(d.getPlayer().getMovementY() > 0){
d.getPlayer().setMovementY(0);
}
} }
} }

@ -51,30 +51,30 @@ public class EntitySprite {
public void updateAnimation(Entity e){ public void updateAnimation(Entity e){
if(e != null){ if(e != null){
boolean moves = false; boolean moves = false;
if(e.getMovementX() != 0 || e.getMovementY() != 0){ if(e.getMovementX() != 0 || e.getMovementY() != 0){
moves = true; moves = true;
} }
direction = e.getDirection();
direction = e.getDirection();
if(getDie() >= 1){ if(getDie() >= 1){
updateDie(); updateDie();
} }
else if(attackState == 1){ else if(attackState == 1){
updateAttack(); updateAttack();
} }
else if(moves){ else if(moves){
updateWalking(); updateWalking();
} }
else{ else{
updateIdle(); updateIdle();
} }
} }
} }
public void updateDie(){ public void updateDie(){
if(die == 2){ if(die == 2){
sprites[0].setRegion(regions[0][4][9]); sprites[0].setRegion(regions[0][4][9]);
updateFlip();
} }
else if(frames[3] >= 9){ else if(frames[3] >= 9){
setDie(2); setDie(2);

@ -22,21 +22,13 @@ public class GameScreen {
//PLAYER //PLAYER
EntitySprite player; public EntitySprite player;
//ENTITIES //ENTITIES
Texture[] entityTextures;
public EntitySprite[] entitySprites; public EntitySprite[] entitySprites;
TextureRegion[][] archerRegions;
Texture archerTexture;
TextureRegion[][] swordsmanRegions;
Texture swordsmanTexture;
Entity[] entities; Entity[] entities;
Texture[] arrowTextures;
Sprite[] arrowSprites;
//MAP //MAP
private Map m; private Map m;
TiledMapRenderer tmr; TiledMapRenderer tmr;
@ -56,8 +48,6 @@ public class GameScreen {
TextureRegion[][] roomChangeTextureRegion; TextureRegion[][] roomChangeTextureRegion;
int roomChangeRow; int roomChangeRow;
boolean playerMoving;
Player p; Player p;
HudContainer hc; HudContainer hc;
@ -71,13 +61,6 @@ public class GameScreen {
public GameScreen(Dungeon d, float volume) { public GameScreen(Dungeon d, float volume) {
//CONTROLS //CONTROLS
/*
ctr = new Texture("controls.png");
controls = new Sprite(ctr);
controls.setX(-400f);
controls.setY(0);
*/
entities = d.getCurrentEntities(); entities = d.getCurrentEntities();
@ -93,11 +76,8 @@ public class GameScreen {
player.update(200, 200); player.update(200, 200);
//ENTITIES //ENTITIES
entityTextures = new Texture[5];
entitySprites = new EntitySprite[15]; entitySprites = new EntitySprite[15];
arrowTextures = new Texture[10];
arrowSprites = new Sprite[10];
//MAP //MAP
float w = Gdx.graphics.getWidth(); float w = Gdx.graphics.getWidth();
@ -141,25 +121,14 @@ public class GameScreen {
animatePlayer.scheduleTask(new Timer.Task() { animatePlayer.scheduleTask(new Timer.Task() {
@Override @Override
public void run() { public void run() {
player.updateAnimation(p);
if(player.getAttackState() == 1){
player.updateAttack();
}
else if(!playerMoving){
player.updateIdle();
}
else{
player.updateWalking();
}
for(int i = 0; i < entitySprites.length; i++){ for(int i = 0; i < entitySprites.length; i++){
if(entitySprites[i] != null){ if(entitySprites[i] != null){
entitySprites[i].updateAnimation(entities[i]); entitySprites[i].updateAnimation(entities[i]);
} }
} }
if(player.getAttackState() == 2){
playerAttack(entities, p, player.getDirection());
}
} }
}, 0, animationSpeed); }, 0, animationSpeed);
@ -189,7 +158,7 @@ public class GameScreen {
roomChangeRow++; roomChangeRow++;
} }
} }
},0, 0.01f); },0, 0.02f);
} }
@ -201,7 +170,7 @@ public class GameScreen {
this.p = p; this.p = p;
playerMoving = (p.getMovementX() != 0 || p.getMovementY() != 0); //playerMoving = (p.getMovementX() != 0 || p.getMovementY() != 0);
//setzt player Sprite auf richtige Position //setzt player Sprite auf richtige Position
player.update((int) p.getxPos(), (int) p.getyPos()); player.update((int) p.getxPos(), (int) p.getyPos());
@ -226,9 +195,8 @@ public class GameScreen {
} }
//MAP //MAP
tmr.setView(camera); tmr.setView(camera);
tmr.render();
tmr.render();
camera.zoom = 700f; // Standart 700f camera.zoom = 700f; // Standart 700f
@ -318,62 +286,7 @@ public class GameScreen {
entitySprites[i] = null; entitySprites[i] = null;
} }
public Entity[] playerAttack(Entity e[], Player p, int attackDirection){
if(player.getAttackState() == 0){
player.startAttack();
}
else if(player.getAttackState() == 1){
player.resetAttackState();
player.startAttack();
}
else if(player.getAttackState() == 2){
if(attackDirection== 0){
Texture attackTexture = new Texture("sprites/AttackVert.png");
Sprite attackSprite = new Sprite(attackTexture);
attackSprite.setX(p.getxPos() - 32f);
attackSprite.setY(p.getyPos() - 8f);
for(int i = 0; i < e.length ; i++){
if(entitySprites[i] != null){
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
}
}
}
}
}
}
else if(attackDirection== 1){
Texture attackTexture = new Texture("sprites/AttackVert.png");
Sprite attackSprite = new Sprite(attackTexture);
attackSprite.setX(p.getxPos()+ 32f);
attackSprite.setY(p.getyPos()- 2f);
for(int i = 0; i< e.length ; i++){
if(entitySprites[i] != null){
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
}
}
}
}
}
}
player.resetAttackState();
}
return e;
}
public void cleanUp(){ public void cleanUp(){
music.dispose(); music.dispose();

@ -1,17 +0,0 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.dungeoncrawler.view;
import com.dungeoncrawler.model.entities.Player;
/**
*
* @author Jan
*/
public class Hud {
public Hud(Player p){}
}
Loading…
Cancel
Save