diff --git a/core/assets/sprites/doorbottom.png b/core/assets/sprites/doorbottom.png new file mode 100644 index 0000000..30f5b96 Binary files /dev/null and b/core/assets/sprites/doorbottom.png differ diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index d365eb2..a1c32ab 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -64,10 +64,13 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ int playerSkin; - + boolean checkDoor; @Override public void create(){ + + checkDoor = false; + playerSkin = 0; isPaused = false; @@ -286,6 +289,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ public void render(){ //PASSIERT IN MAINMENU + if(es != null){ + es.render(batch, volume, gs.getCamera()); + } if(mm != null){ mm.render(batch); } @@ -296,14 +302,11 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ cs.render(batch); } if(ps != null){ - ps.render(batch, volume); - } - if(es != null){ - es.render(batch, volume); + ps.render(batch, volume, gs.getCamera()); } //PASSIERT IN GAMESCREEN - if(gs != null && mm == null && isPaused == false){ + if(gs != null && mm == null && isPaused == false && es == null){ float tempX = d.getPlayer().getxPos(); float tempY = d.getPlayer().getyPos(); @@ -372,7 +375,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } } - if(hasEnemies()){ + if(hasEnemies() && checkDoor){ for(RectangleMapObject rectangleObject : door.getByType(RectangleMapObject.class)){ Rectangle tempDoor = rectangleObject.getRectangle(); @@ -404,7 +407,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } } - if(hasEnemies()){ + if(hasEnemies() && checkDoor){ for(RectangleMapObject rectangleObject : door.getByType(RectangleMapObject.class)){ Rectangle tempDoor = rectangleObject.getRectangle(); @@ -489,7 +492,8 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } else{ // Dungeon Exit es = new EndScreen(); - gs = null; + gs.stop(); + entityMovement.stop(); return; } @@ -865,7 +869,6 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } return true; case 11: - create(); break; } @@ -879,6 +882,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } public int click(int x, int y){ + if(ps != null){ + return ps.click(x,y); + } if(mm != null && mm.getHidden() == false){ return mm.click(x, y); } @@ -890,6 +896,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } if(gs != null && isPaused == true){ + } + if(es != null){ + } return -1; } @@ -925,8 +934,8 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } public void stop(){ - entityMovement.stop(); isPaused = true; + entityMovement.stop(); gs.stop(); ps = new PauseScreen(); diff --git a/core/src/com/dungeoncrawler/view/EndScreen.java b/core/src/com/dungeoncrawler/view/EndScreen.java index 9e9b0f2..813db6f 100644 --- a/core/src/com/dungeoncrawler/view/EndScreen.java +++ b/core/src/com/dungeoncrawler/view/EndScreen.java @@ -7,6 +7,7 @@ package com.dungeoncrawler.view; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; @@ -28,11 +29,13 @@ public class EndScreen { backButton.setPosition(100, 100); } - public void render (SpriteBatch batch, float volume) { + public void render (SpriteBatch batch, float volume, OrthographicCamera camera) { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); batch.begin(); + camera.update(); + batch.setProjectionMatrix(camera.combined); backButton.draw(batch); batch.end(); } @@ -43,7 +46,7 @@ public class EndScreen { if(Intersector.overlaps(r, backButton.getBoundingRectangle())){ return 11; //NEUSTART } - return 11; + return -1; //return -1; } diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index 1e8c13a..54f03d5 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -443,9 +443,12 @@ public class GameScreen { public void stop(){ animations.stop(); animatePlayer.stop(); - camera.normalizeUp(); + camera.zoom = 1600; + camera.translate(-175f, -215f); } public void resume(){ + camera.zoom = 700; + camera.translate(175f, 215f); animations.start(); animatePlayer.start(); } @@ -458,5 +461,8 @@ public class GameScreen { } } } + public OrthographicCamera getCamera(){ + return camera; + } } diff --git a/core/src/com/dungeoncrawler/view/PauseScreen.java b/core/src/com/dungeoncrawler/view/PauseScreen.java index 02c4b1c..ba29456 100644 --- a/core/src/com/dungeoncrawler/view/PauseScreen.java +++ b/core/src/com/dungeoncrawler/view/PauseScreen.java @@ -9,6 +9,7 @@ import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; @@ -57,7 +58,7 @@ public class PauseScreen{ } - public void render (SpriteBatch batch, float volume) { + public void render (SpriteBatch batch, float volume, OrthographicCamera camera) { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); @@ -65,7 +66,8 @@ public class PauseScreen{ volumeButtonSprite.setPosition(-140, 150); volumeDownSprite.setPosition(volumeButtonSprite.getX() + 230, volumeButtonSprite.getY()+28); volumeUpSprite.setPosition(volumeButtonSprite.getX() + 340, volumeButtonSprite.getY()+28); - backButtonSprite.setPosition(-140, 50); + //backButtonSprite.setPosition(-140, 50); + backButtonSprite.setPosition(0, 0); float n = 0; @@ -86,7 +88,10 @@ public class PauseScreen{ } + batch.begin(); + camera.update(); + batch.setProjectionMatrix(camera.combined); volumeButtonSprite.draw(batch); volumeUpSprite.draw(batch); volumeDownSprite.draw(batch); @@ -101,13 +106,13 @@ public class PauseScreen{ Rectangle r = new Rectangle(); - r.set(x, h-y, 1, 1); - if(Intersector.overlaps(r, backButtonSprite.getBoundingRectangle())){ + r.set(x, h-y, 1600, 900); + /*if(Intersector.overlaps(r, backButtonSprite.getBoundingRectangle())){ return 5; //proceed Game } if(Intersector.overlaps(r, volumeDownSprite.getBoundingRectangle())){ return 9; //volume DOWN - } + }*/ if(Intersector.overlaps(r, volumeUpSprite.getBoundingRectangle())){ return 10; //volume UP }