From a32488536eacb13eb1609124f56a6da0866f9e13 Mon Sep 17 00:00:00 2001 From: bfz Date: Tue, 7 Apr 2020 16:20:10 +0200 Subject: [PATCH] screens verbunden - view vereinfacht und sortiert --- .../dungeoncrawler/control/Controller.java | 31 ++- .../src/com/dungeoncrawler/view/MainMenu.java | 50 +---- core/src/com/dungeoncrawler/view/View.java | 204 +++++------------- 3 files changed, 82 insertions(+), 203 deletions(-) diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index 922f833..5e0f610 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -9,6 +9,7 @@ import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; +import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.dungeoncrawler.view.*; import com.dungeoncrawler.model.Dungeon; @@ -25,10 +26,13 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ Player p; Entity[] e; Timer t; - Map m; + View m; + Archer a; @Override public void create(){ + a = new Archer(200,200,200); + batch = new SpriteBatch(); v = new MainMenu(); p = new Player(); @@ -57,12 +61,12 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ switch(ent.getId()){ case 0: e[i] = new Archer(x,y,lvl); - v.newEntity(i,ent,x,y); + m.newEntity(i,ent,x,y); i = 10; break; case 1: e[i] = new Swordsman(x,y,lvl); - v.newEntity(i,ent,x,y); + m.newEntity(i,ent,x,y); i = 10; break; } @@ -76,6 +80,9 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(v != null){ v.render(batch, p , e); } + if(v == null){ + m.render(batch, p, a); + } } @Override @@ -90,7 +97,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ v.moveCursor(3); } if(m != null){ - p.setMovementX(-5); + p.setMovementX(-3); } } @@ -99,7 +106,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ v.moveCursor(1); } if(m != null){ - p.setMovementX(5); + p.setMovementX(3); } } @@ -108,7 +115,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ v.moveCursor(2); } if(m != null){ - p.setMovementY(-5); + p.setMovementY(-3); } } @@ -117,7 +124,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ v.moveCursor(0); } if(m != null){ - p.setMovementY(5); + p.setMovementY(3); } } @@ -126,7 +133,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ if(v.click() == -1){} else if(v.click() == 0){ v = null; - m = new Map(); + m = new View(); System.out.println("NICE"); } } @@ -171,6 +178,14 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ p.setMovementY(0); } } + + if(keycode == Input.Keys.ENTER){ + if(v != null){ + } + if(m != null){ + + } + } return true; } diff --git a/core/src/com/dungeoncrawler/view/MainMenu.java b/core/src/com/dungeoncrawler/view/MainMenu.java index 545c364..603a9d1 100644 --- a/core/src/com/dungeoncrawler/view/MainMenu.java +++ b/core/src/com/dungeoncrawler/view/MainMenu.java @@ -45,9 +45,8 @@ public class MainMenu{ title.setY(h - 200); button.setX(wc - (button.getWidth()/2)); button.setY(400); + //ENTITIES - entityTextures = new Texture[5]; - entitySprites = new Sprite[5]; //CURSOR c = new Texture("cursor.png"); @@ -58,13 +57,6 @@ public class MainMenu{ CursorMoveY = 0f; //PLAYER - /* - p = new Texture("player.png"); - regions = TextureRegion.split(p, 64, 64); - player = new Sprite(regions[0][0]); - player.setX(200); - player.setY(200); - */ } @@ -73,50 +65,15 @@ public class MainMenu{ Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); cursor.setX(cursor.getX()+ CursorMoveX); cursor.setY(cursor.getY()+ CursorMoveY); - /* - player.setX(player.getX()+ (float) p.getMovementX()); - player.setY(player.getY()+ (float) p.getMovementY()); - - if(p.getMovementX() == 5){ - player.setRegion(regions[0][1]); - } - if(p.getMovementX() == -5){ - player.setRegion(regions[0][3]); - } - if(p.getMovementY() == 5){ - player.setRegion(regions[0][0]); - } - if(p.getMovementY() == -5){ - player.setRegion(regions[0][2]); - } - */ + batch.begin(); title.draw(batch); button.draw(batch); cursor.draw(batch); - if(entitySprites[0] != null){ - entitySprites[0].draw(batch); - } - if(entitySprites[1] != null){ - entitySprites[1].draw(batch); - } batch.end(); } - public void newEntity(int i,Entity e, int x, int y){ - if(e.getId() == 0){ - entityTextures[i] = new Texture("archer.png"); - entitySprites[i] = new Sprite(entityTextures[i]); - entitySprites[i].setX(x); - entitySprites[i].setY(y); - } - else if(e.getId() == 1){ - entityTextures[i] = new Texture("Swordsman.png"); - entitySprites[i] = new Sprite(entityTextures[i]); - entitySprites[i].setX(x); - entitySprites[i].setY(y); - } - } + @@ -155,5 +112,6 @@ public class MainMenu{ } + } diff --git a/core/src/com/dungeoncrawler/view/View.java b/core/src/com/dungeoncrawler/view/View.java index 01925ff..9611f49 100644 --- a/core/src/com/dungeoncrawler/view/View.java +++ b/core/src/com/dungeoncrawler/view/View.java @@ -13,25 +13,21 @@ import com.badlogic.gdx.maps.tiled.TiledMapRenderer; import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; import com.dungeoncrawler.model.Dungeon; import com.dungeoncrawler.model.DungeonGenerator; +import com.dungeoncrawler.model.Entity; import com.dungeoncrawler.model.entities.*; public class View { - Texture b; - Texture t; + //PLAYER Texture p; - Texture a; - Sprite button; - Sprite title; Sprite player; - Sprite archer; - int PlayerFrame = 0; - int PlayerZeile = 0; TextureRegion[][] regions; - Timer tunten; - Timer toben; - Timer tlinks; - Timer trechts; + + //ENTITIES + Texture[] entityTextures; + Sprite[] entitySprites; + + //MAP Map tm; TiledMapRenderer tmr; TiledMap test; @@ -39,30 +35,23 @@ public class View { Dungeon d; public View() { - b = new Texture("Button.png"); - t = new Texture("Title.png"); - p = new Texture("animplay.png"); - a = new Texture("Archer-64.png"); - button = new Sprite(b); - title = new Sprite(t); - archer = new Sprite(a); - float w = Gdx.graphics.getWidth(); float h = Gdx.graphics.getHeight(); float wc = w/2; - title.setX(wc - (title.getWidth()/2)); - title.setY(h - 200); - button.setX(wc - (button.getWidth()/2)); - button.setY(400); - regions = TextureRegion.split(p, 32, 32); + + //PLAYER + p = new Texture("Player.png"); + regions = TextureRegion.split(p, 64, 64); player = new Sprite(regions[0][2]); player.setX(200); player.setY(200); - tunten = new Timer(); - toben = new Timer(); - tlinks = new Timer(); - trechts = new Timer(); + //ENTITIES + entityTextures = new Texture[5]; + entitySprites = new Sprite[5]; + + + //MAP tm = new Map(); camera = new OrthographicCamera(1, h/w); d = new DungeonGenerator().generateDungeon(10, 10, 48, new Player()); @@ -79,118 +68,28 @@ public class View { } tmr = new OrthogonalTiledMapRenderer(test); - - tunten.scheduleTask(new Timer.Task() { - @Override - public void run() { - PlayerZeile = 2; - - if(PlayerFrame == 9){ - PlayerFrame = 0; - } - else{ - PlayerFrame++; - } - - player.setRegion(regions[PlayerZeile][PlayerFrame]); - - } - },0,1/5f); - tunten.stop(); - - toben.scheduleTask(new Timer.Task() { - @Override - public void run() { - PlayerZeile = 2; - - if(PlayerFrame == 9){ - PlayerFrame = 0; - } - else{ - PlayerFrame++; - } - - player.setRegion(regions[PlayerZeile][PlayerFrame]); - - } - }, 0,1/5f); - toben.stop(); - - tlinks.scheduleTask(new Timer.Task() { - @Override - public void run() { - PlayerZeile = 2; - if(player.isFlipX() == true){ - - } - else{ - player.flip(true, false); - } - if(PlayerFrame == 9){ - PlayerFrame = 0; - } - else{ - PlayerFrame++; - } - - player.setRegion(regions[PlayerZeile][PlayerFrame]); - - } - }, 0,1/5f); - tlinks.stop(); - - trechts.scheduleTask(new Timer.Task() { - @Override - public void run() { - PlayerZeile = 2; - if(player.isFlipX() == true){ - player.flip(false, false); - } - if(PlayerFrame == 9){ - PlayerFrame = 0; - } - else{ - PlayerFrame++; - } - - - player.setRegion(regions[PlayerZeile][PlayerFrame]); - - } - }, 0,1/5f); - trechts.stop(); - + } public void render (SpriteBatch batch, Player p, Archer a) { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); - player.setX(player.getX()+ (float) p.getMovementX()); - player.setY(player.getY()+ (float) p.getMovementY()); - archer.setX((float)a.getxPos()); - archer.setY((float)a.getyPos()); + player.setX(player.getX()+ p.getMovementX()); + player.setY(player.getY()+ p.getMovementY()); + if(p.getMovementX() == 3){ - trechts.start(); - if(player.isFlipX() == true){ - player.flip(false, false); - } + player.setRegion(regions[0][1]); } if(p.getMovementX() == -3){ - tlinks.start(); - if(player.isFlipX() == true){ - - } - else{ - player.flip(true, false); - } + player.setRegion(regions[0][3]); } if(p.getMovementY() == 3){ - toben.start(); + player.setRegion(regions[0][0]); } if(p.getMovementY() == -3){ - tunten.start(); + player.setRegion(regions[0][2]); } tmr.setView(camera); @@ -201,31 +100,38 @@ public class View { batch.begin(); - title.draw(batch); - button.draw(batch); player.draw(batch); - archer.draw(batch); + if(entitySprites[0] != null){ + entitySprites[0].draw(batch); + } + if(entitySprites[1] != null){ + entitySprites[1].draw(batch); + } + if(entitySprites[2] != null){ + entitySprites[2].draw(batch); + } + if(entitySprites[3] != null){ + entitySprites[3].draw(batch); + } + if(entitySprites[4] != null){ + entitySprites[4].draw(batch); + } batch.end(); } - - public void tuntenstop(){ - tunten.stop(); - PlayerFrame = 0; - player.setRegion(regions[PlayerZeile][PlayerFrame]);} - public void tobenstop(){ - toben.stop(); - PlayerFrame = 0; - player.setRegion(regions[PlayerZeile][PlayerFrame]);} - public void tlinksstop(){ - tlinks.stop(); - PlayerFrame = 0; - player.setRegion(regions[PlayerZeile][PlayerFrame]); - player.flip(true, false);} - public void trechtsstop(){ - trechts.stop(); - PlayerFrame = 0; - player.setRegion(regions[PlayerZeile][PlayerFrame]);} - + public void newEntity(int i,Entity e, int x, int y){ + if(e.getId() == 0){ + entityTextures[i] = new Texture("archer.png"); + entitySprites[i] = new Sprite(entityTextures[i]); + entitySprites[i].setX(x); + entitySprites[i].setY(y); + } + else if(e.getId() == 1){ + entityTextures[i] = new Texture("Swordsman.png"); + entitySprites[i] = new Sprite(entityTextures[i]); + entitySprites[i].setX(x); + entitySprites[i].setY(y); + } } +}