From f603bd36efe0332c2e0735f53dcbb022ead02396 Mon Sep 17 00:00:00 2001 From: GammelJAN Date: Sun, 3 May 2020 14:15:59 +0200 Subject: [PATCH] GIAESJn --- core/assets/sprites/archer.png | Bin 2471 -> 38774 bytes core/assets/sprites/backButton.png | Bin 0 -> 9513 bytes core/assets/sprites/controlsButton.png | Bin 0 -> 2412 bytes core/assets/sprites/settingsButton.png | Bin 0 -> 2703 bytes core/assets/sprites/swordsman.png | Bin 1404 -> 25401 bytes core/assets/sprites/volume.png | Bin 0 -> 683 bytes core/assets/sprites/volumeButton.png | Bin 0 -> 2448 bytes core/assets/sprites/volumeDownButton.png | Bin 0 -> 954 bytes core/assets/sprites/volumeUpButton.png | Bin 0 -> 999 bytes .../dungeoncrawler/control/Controller.java | 254 ++++++++++-------- .../com/dungeoncrawler/model/Inventory.java | 17 +- .../dungeoncrawler/view/ControlsScreen.java | 65 +++++ .../com/dungeoncrawler/view/GameScreen.java | 2 +- .../{MainMenu.java => MainMenuScreen.java} | 70 +++-- .../{MenuScreen.java => PauseScreen.java} | 4 +- .../dungeoncrawler/view/SettingsScreen.java | 127 +++++++++ 16 files changed, 397 insertions(+), 142 deletions(-) create mode 100644 core/assets/sprites/backButton.png create mode 100644 core/assets/sprites/controlsButton.png create mode 100644 core/assets/sprites/settingsButton.png create mode 100644 core/assets/sprites/volume.png create mode 100644 core/assets/sprites/volumeButton.png create mode 100644 core/assets/sprites/volumeDownButton.png create mode 100644 core/assets/sprites/volumeUpButton.png create mode 100644 core/src/com/dungeoncrawler/view/ControlsScreen.java rename core/src/com/dungeoncrawler/view/{MainMenu.java => MainMenuScreen.java} (63%) rename core/src/com/dungeoncrawler/view/{MenuScreen.java => PauseScreen.java} (88%) create mode 100644 core/src/com/dungeoncrawler/view/SettingsScreen.java diff --git a/core/assets/sprites/archer.png b/core/assets/sprites/archer.png index b35e6e962a75c26d5942571af85cfbe40c2e53b5..59f9f40c2986ad4a939f984dedb5aa426e8680a7 100644 GIT binary patch literal 38774 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 literal 2471 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 diff --git a/core/assets/sprites/backButton.png b/core/assets/sprites/backButton.png new file mode 100644 index 0000000000000000000000000000000000000000..a277684f450600a67cc05952b8e599302d514d27 GIT binary patch literal 9513 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 literal 0 HcmV?d00001 diff --git a/core/assets/sprites/controlsButton.png b/core/assets/sprites/controlsButton.png new file mode 100644 index 0000000000000000000000000000000000000000..2188584f47925db7b4721add27c7ce001f6d931a GIT binary patch literal 2412 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 literal 1404 zcmV-?1%vvDP)EX>4Tx04R}tkv&MmKpe$i(@Kj}9oj)eFhg~+AS&W0RV;#q(pG5I!Q|2}Xws0h zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOiy{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm0}2qY?S9$OCp000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000A1NklM(AK~1SaSV zouMP3F2MVWR7F4_u^r#U{%?WUIVUmDcDLunIp^Hx@9U^z9LL2u=cZ}u98+)}gL7=c z^G6NN+)9l3Aen55i$Y9@g?!=r=zQUakvkE>gK-t+7D0257mkZr0GIxI<2#hpzZt=z zRN+SrkYfZcD(BGi%(1zwSd#@bgXPRv4w^QEW&{gqh#WS+Q5wchg1P`x$+>kNvGFhq z=!8h>*bS)%G$U9b7k;(@*2u`Q9+#r#G)*k~q1r5<1sGK0G*F$;?Rjx-1}Dkv-23`6 zBUDWMFnX#ly3dcL)J0IneSR#lYoW3x%KBQvxsBtvaMaDZVErio8(fE4xx(|>; z|B!a6y>%@Xp`_$*PN>FM8~wH9O^pHU&a%$9Jujp=(YEYOHUKr5!Zq*FLD#yE$e9RX zPD)uIH77`UQo9E*Bh---?TwBk18@;(uk(@m^eLhd)^Z|kfg@e0y@`O57nm-P837|F zXszwj2H+;q(f+p|^cvr%-O7oS1yb%olqp#i9?WHZp5G zh8ch${1WIsVxE63djUUTs$T+0Uf_LxEL$W(-2_t={`>msN_633F!GOtpzX$Iz!~}<$qC9tP;CI@;;&)yQshJXM2L2QN^Witd;IU~tMfEP zd0!y*U7x>iHjJie>NG9`?R@}+1zEF!wHcw;N`Dj!{1SgHv|C{9J1B^cVgxgQ5x?l3 ztF#e%&Ggr3ff(_TEZ{#YL42)7FasFzRfV(>dhPTtZGjZxBUnKDjX5bJm;o9hK4Nei zp+}&6FyJu24xcTlNDXvP56$2TKv8UXQiwxbuQf%w!Gh~2qeBVlWQ26)s6 zL#;2N8}TiU7@EX>4Tx04R}tkv&MmKpe$iQ%j3fI@m$PAwzYtAXUUss#pXIrLEAagUO{|(8Q3W zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOi;))o2MF4(;5J5s>rk>6%U7TlmpZjwRC?%5tK9P8q>4rtTPCUJ7 z>74h8qpT_^#OK8023?T&k?XR{Z=5R*3p_Jw#nOrq6 za?E1`DkR4b{s+IiHOrF;Hz}M10x!1xF$x5Cfp*ijzmILZeFFHOfh(=+-)I3dpQJat zTI>jjYy%h9T}|EtE_Z;TCtWfmNAlAY%4OjFjJ~M|4Bi6$t8QGbylR5fy&J{@^q00006VoOIv04V?|04YGc6A1tS010qNS#tmY zE+YT{E+YYWr9XB6000McNliru9W+W^aEt%|02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{004tYL_t(o!|l{L4uCKaL(xpctvDMMXX9MZp%jRH$v1X2 zQYy<&Nl82*)utcD`R>}#Dp-~)N@jJUjRM29WHiGimgs^qL=Q4#EqH>ViP9O?x8ThT zO_a{?n+0EFXrgq6&n;L9LldPlytW{Kp^4HNZZ8OD_-mprNKfqgWE9?1GXc9qQzS!K RJqG{)002ovPDHLkV1j<&7o`9I literal 0 HcmV?d00001 diff --git a/core/assets/sprites/volumeButton.png b/core/assets/sprites/volumeButton.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ee06064d57a2009809f9b5fd6c6ed3dba4108c GIT binary patch literal 2448 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 literal 0 HcmV?d00001 diff --git a/core/assets/sprites/volumeUpButton.png b/core/assets/sprites/volumeUpButton.png new file mode 100644 index 0000000000000000000000000000000000000000..83b98dd6cff2e4020c8bbf1069c6e4964e46be69 GIT binary patch literal 999 zcmVEX>4Tx04R}tkv&MmKpe$iQ%j3fI@m$PAwzYtAXUUss#pXIrLEAagUO{|(8Q3W zxHt-~1qVMCs}3&Cx;nTDg5U>;lcSTOi;))o2MF4(;5J5s>rk>6%U7TlmpZjwRC?%5tK9P8q>4rtTPCUJ7 z>74h8qpT_^#OK8023?T&k?XR{Z=5R*3p_Jw#nOrq6 za?E1`DkR4b{s+IiHOrF;Hz}M10x!1xF$x5Cfp*ijzmILZeFFHOfh(=+-)I3dpQJat zTI>jjYy%h9T}|EtE_Z;TCtWfmNAlAY%4OjFjJ~M|4Bi6$t8QGbylR5fy&J{@^q00006VoOIv04V?|04YGc6A1tS010qNS#tmY zE+YT{E+YYWr9XB6000McNliru9VlL0EW-c*02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00F;AL_t(o!|j=|Zo)7ShX2?>7$hVsd!(*;6&|4-%VV`; zd7P|WyRooa#`awYlvF@W0g=?G`8P*8`_uXE?3}aZa>+ylB0_4)vJ6596h(o$u8}h{ zthF%4fSHqm&GQ`d`TS=L0L%>UJ*>6KfJ!MLrEJH>m_2MGW=061-GaXmGq>A+;^|nN zNGUrF`cw!3A%ti+p1=wrFr7}JlsedkA!MzEwHD5~-(efCDy5*chSqve*v)1GB5FhN zBF{=Gp|wU`*Mq{AWeFifG+zWBNDl>@-*d9h=eL7#wO*y^*<;Yyw|^4`BkTw}!lqJZ zZz)CRY_6@tqEFCE<}}8PF+0Nc0(?93zhE|-^-~S1^(vYWU#}lgpqQ=!z3Ga0 z?E<&jj0rZvj^_)J0@w5D|8} z9k$yo%Ca03)))it{pBss5CW{VAfmzhv(7m<=RicA?bZ|6# playerPickUp(){ ArrayList tempItems = d.getCurrentRoom().getItems(); - ArrayList tempSprites = m.getM().getMaps()[level][roomPosX][roomPosY].getMapItems(); + ArrayList tempSprites = gs.getM().getMaps()[level][roomPosX][roomPosY].getMapItems(); ArrayList garbageCollector = new ArrayList<>(); for(int i = 0; i < tempItems.size(); i++){ - if(Intersector.overlaps(m.getPlayer().getCollisionSprite(), tempSprites.get(i).getSprite().getBoundingRectangle())){ + if(Intersector.overlaps(gs.getPlayer().getCollisionSprite(), tempSprites.get(i).getSprite().getBoundingRectangle())){ garbageCollector.add(tempItems.get(i)); tempItems.remove(i); @@ -382,46 +394,46 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ public boolean keyDown(int keycode) { if(keycode == Input.Keys.A){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementX(-3f); } } if(keycode == Input.Keys.D){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementX(+3f); } } if(keycode == Input.Keys.S){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementY(-3f); } } if(keycode == Input.Keys.W){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementY(3f); } } if(keycode == Input.Keys.E){ - if(v != null){} - if(m != null && m.getIsLoading() == false){ - d.setCurrentEntities(m.playerAttack(d.getCurrentEntities(), d.getPlayer(), batch)); + if(mm != null){} + if(gs != null && gs.getIsLoading() == false){ + d.setCurrentEntities(gs.playerAttack(d.getCurrentEntities(), d.getPlayer(), batch)); } } if(keycode == Input.Keys.F){ - if(v != null){} - if(m != null && m.getIsLoading() == false){ + if(mm != null){} + if(gs != null && gs.getIsLoading() == false){ //Item k = new Sword(1); //m.addItem(k); //d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer())); @@ -434,38 +446,16 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } if(keycode == Input.Keys.R){ - if(v != null){} - if(m != null && m.getIsLoading() == false){ + if(mm != null){} + if(gs != null && gs.getIsLoading() == false){ d.getPlayer().getInv().equipItem(); } } - if(keycode == Input.Keys.UP){ - volume += 0.1f; - - if(v != null){ - v.music.setVolume(volume); - } - if(m != null){ - m.music.setVolume(volume); - } - } - if(keycode == Input.Keys.DOWN){ - if(volume >= 0.1f){ - volume -= 0.1f; - } - - if(v != null){ - v.music.setVolume(volume); - } - if(m != null){ - m.music.setVolume(volume); - } - } if(keycode == Input.Keys.Q){ - if(m != null && m.getIsLoading() == false){ + if(gs != null && gs.getIsLoading() == false){ d.getPlayer().getInv().dropItem(); } } @@ -475,33 +465,33 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ @Override public boolean keyUp(int keycode) { if(keycode == Input.Keys.A){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementX(0); } } if(keycode == Input.Keys.D){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementX(0); } } if(keycode == Input.Keys.S){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementY(0); } } if(keycode == Input.Keys.W){ - if(v != null){ + if(mm != null){ } - if(m != null){ + if(gs != null){ d.getPlayer().setMovementY(0); } } @@ -518,38 +508,88 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ public boolean touchDown(int screenX, int screenY, int pointer, int button) { if(button == Input.Buttons.LEFT){ - if(v != null){ - switch(v.click(screenX, screenY)){ - case -1: - - return true; - case 0: - v.cleanUp(); - v = null; - m = new GameScreen(d, volume); - hc = new HudContainer(); - m.startLoadingScreen(); - return true; - - case 1: - v.cleanUp(); - v = null; - m = new GameScreen(d, volume); - return true; - - } + switch(click(screenX, screenY)){ + case -1: // -1: nothing hit -- 0: go ingame -- 1: EXIT game -- 2: goto settings -- 3: goto controls -- 4: goto MainMenuScreen -- 9: volume down -- 10: volume up + + return true; + case 0: + mm.cleanUp(); + mm = null; + gs = new GameScreen(d, volume); + hc = new HudContainer(); + gs.startLoadingScreen(); + return true; + + case 1: + mm.cleanUp(); + mm = null; + gs = new GameScreen(d, volume); + return true; + + case 2: + mm.hide(); + cs = null; + ss = new SettingsScreen(); + return true; + + case 3: + mm.hide(); + ss = null; + cs = new ControlsScreen(); + return true; + + case 4: + ss = null; + cs = null; + mm.appear(); + return true; + + case 9: + if(volume > 0f){ + volume -= 0.05f; + } + if(mm != null){ + mm.music.setVolume(volume); + } + if(gs != null){ + gs.music.setVolume(volume); + } + return true; + case 10: + volume += 0.05f; + + if(mm != null){ + mm.music.setVolume(volume); + } + if(gs != null){ + gs.music.setVolume(volume); + } + return true; + } - return true; - } - if(m != null && m.getIsLoading() == false){ - - - return true; - } + if(gs != null && gs.getIsLoading() == false){ + + + return true; + } } return true; } + public int click(int x, int y){ + if(mm != null && mm.getHidden() == false){ + return mm.click(x, y); + } + if(ss != null){ + return ss.click(x, y); + } + if(cs != null){ + return cs.click(x, y); + } + return -1; + } + + @Override public boolean touchUp(int i, int i1, int i2, int i3) { return false; @@ -567,7 +607,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ @Override public boolean scrolled(int i) { - if(m != null){ + if(gs != null){ if(i == -1 && d.getPlayer().getInv().getSelected() == 0){return true;} else if(i == 1 && d.getPlayer().getInv().getSelected() == 7){return true;} else{ diff --git a/core/src/com/dungeoncrawler/model/Inventory.java b/core/src/com/dungeoncrawler/model/Inventory.java index 5f40daa..dc9d57a 100644 --- a/core/src/com/dungeoncrawler/model/Inventory.java +++ b/core/src/com/dungeoncrawler/model/Inventory.java @@ -18,18 +18,11 @@ public class Inventory { public void addItem(Item i) { for(int n = 2; n < items.length; n++){ - if(i.getId() == 2){ - if(items[1] == null){ - items[1] = i; - n = items.length + 1; - break; - } - } - if(items[n] == null){ - items[n] = i; - n = items.length + 1; - break; - } + if(items[n] == null){ + items[n] = i; + n = items.length + 1; + break; + } } } diff --git a/core/src/com/dungeoncrawler/view/ControlsScreen.java b/core/src/com/dungeoncrawler/view/ControlsScreen.java new file mode 100644 index 0000000..e0e3bb9 --- /dev/null +++ b/core/src/com/dungeoncrawler/view/ControlsScreen.java @@ -0,0 +1,65 @@ +/* + * 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.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.Sprite; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.math.Intersector; +import com.badlogic.gdx.math.Rectangle; + +/** + * + * @author bfz + */ +public class ControlsScreen { + float w; + float h; + + Texture backButtonTexture; + + + Sprite backButtonSprite; + + public ControlsScreen(){ + w = Gdx.graphics.getWidth(); + h = Gdx.graphics.getHeight(); + float wc = w/2; + + backButtonTexture = new Texture("sprites/backButton.png"); + + + backButtonSprite = new Sprite(backButtonTexture); + + } + + public void render (SpriteBatch batch) { + Gdx.gl.glClearColor(0, 0, 0, 1); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + batch.begin(); + //batch.setProjectionMatrix(camera.combined); + backButtonSprite.draw(batch); + batch.end(); + } + + public int click(int x, int y){ // prueft ob cursor mit button (START) ueberlappt + + Rectangle r = new Rectangle(); + r.set(x, h-y, 1, 1); + if(Intersector.overlaps(r, backButtonSprite.getBoundingRectangle())){ + return 2; //go settingScreen + } + + return -1; + + } + + + +} diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index 1f93ec7..d819118 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -176,7 +176,7 @@ public class GameScreen { } - public void render (SpriteBatch batch, Player p, Entity[] e, Entity[] arrows, int tileX, int tileY, int level, int roomPosX, int roomPosY) { + public void render (SpriteBatch batch, Player p, Entity[] e, int tileX, int tileY, int level, int roomPosX, int roomPosY) { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); diff --git a/core/src/com/dungeoncrawler/view/MainMenu.java b/core/src/com/dungeoncrawler/view/MainMenuScreen.java similarity index 63% rename from core/src/com/dungeoncrawler/view/MainMenu.java rename to core/src/com/dungeoncrawler/view/MainMenuScreen.java index 6ff595b..0660939 100644 --- a/core/src/com/dungeoncrawler/view/MainMenu.java +++ b/core/src/com/dungeoncrawler/view/MainMenuScreen.java @@ -14,7 +14,7 @@ import com.badlogic.gdx.math.Intersector; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.utils.Timer; -public class MainMenu{ +public class MainMenuScreen{ @@ -22,9 +22,14 @@ public class MainMenu{ Texture startButtonTexture; Texture quitButtonTexture; Texture backgroundTexture; + Texture settingsButtonTexture; + Sprite startButtonSprite; Sprite quitButtonSprite; Sprite backgroundSprite; + Sprite settingsButtonSprite; + + boolean hidden; //CAMERA @@ -32,32 +37,38 @@ public class MainMenu{ float h = Gdx.graphics.getHeight(); OrthographicCamera camera; + // Sound public Music music; - public MainMenu(float volume) { + public MainMenuScreen(float volume) { //MENU-SCREEN w = Gdx.graphics.getWidth(); h = Gdx.graphics.getHeight(); float wc = w/2; + hidden = false; - + backgroundTexture = new Texture("sprites/MAINSCREEN.png"); startButtonTexture = new Texture("sprites/startButton.png"); quitButtonTexture = new Texture("sprites/quitButton.png"); - backgroundTexture = new Texture("sprites/MAINSCREEN.png"); + settingsButtonTexture = new Texture("sprites/settingsButton.png"); + backgroundSprite = new Sprite(backgroundTexture); startButtonSprite = new Sprite(startButtonTexture); quitButtonSprite = new Sprite(quitButtonTexture); - backgroundSprite = new Sprite(backgroundTexture); + settingsButtonSprite = new Sprite(settingsButtonTexture); - startButtonSprite.setX(100); - startButtonSprite.setY(350); - quitButtonSprite.setX(50); - quitButtonSprite.setY(50); backgroundSprite.setX(0); backgroundSprite.setY(0); + startButtonSprite.setX(backgroundSprite.getX() + 100); + startButtonSprite.setY(backgroundSprite.getY() + 350); + quitButtonSprite.setX(backgroundSprite.getX() + 50); + quitButtonSprite.setY(backgroundSprite.getY() + 50); + + settingsButtonSprite.setX(backgroundSprite.getX() + 100); + settingsButtonSprite.setY(backgroundSprite.getY() + 250); //camera = new OrthographicCamera(1, h/w); @@ -89,22 +100,30 @@ public class MainMenu{ batch.begin(); //batch.setProjectionMatrix(camera.combined); - backgroundSprite.draw(batch); - startButtonSprite.draw(batch); - quitButtonSprite.draw(batch); + if(hidden == false){ + backgroundSprite.draw(batch); + startButtonSprite.draw(batch); + quitButtonSprite.draw(batch); + settingsButtonSprite.draw(batch); + } batch.end(); } public int click(int x, int y){ // prueft ob cursor mit button (START) ueberlappt - - Rectangle r = new Rectangle(); - r.set(x, h-y, 1, 1); - if(Intersector.overlaps(r, startButtonSprite.getBoundingRectangle())){ - return 0; - } - if(Intersector.overlaps(r, quitButtonSprite.getBoundingRectangle())){ - return 1; + if(hidden == false){ + + Rectangle r = new Rectangle(); + r.set(x, h-y, 1, 1); + if(Intersector.overlaps(r, startButtonSprite.getBoundingRectangle())){ + return 0; //go ingame + } + if(Intersector.overlaps(r, quitButtonSprite.getBoundingRectangle())){ + return 1; //Exit Game + } + if(Intersector.overlaps(r, settingsButtonSprite.getBoundingRectangle())){ + return 2; //Settings + } } return -1; @@ -114,6 +133,17 @@ public class MainMenu{ music.dispose(); } + public void hide(){ + hidden = true; + } + + public void appear(){ + hidden = false; + } + + public boolean getHidden(){ + return hidden; + } diff --git a/core/src/com/dungeoncrawler/view/MenuScreen.java b/core/src/com/dungeoncrawler/view/PauseScreen.java similarity index 88% rename from core/src/com/dungeoncrawler/view/MenuScreen.java rename to core/src/com/dungeoncrawler/view/PauseScreen.java index f2e43a8..51aa9a4 100644 --- a/core/src/com/dungeoncrawler/view/MenuScreen.java +++ b/core/src/com/dungeoncrawler/view/PauseScreen.java @@ -14,9 +14,9 @@ import com.badlogic.gdx.graphics.GL20; * * @author bfz */ -public class MenuScreen{ +public class PauseScreen{ - public MenuScreen() { + public PauseScreen() { } diff --git a/core/src/com/dungeoncrawler/view/SettingsScreen.java b/core/src/com/dungeoncrawler/view/SettingsScreen.java new file mode 100644 index 0000000..8e03081 --- /dev/null +++ b/core/src/com/dungeoncrawler/view/SettingsScreen.java @@ -0,0 +1,127 @@ +/* + * 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.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.Sprite; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.math.Intersector; +import com.badlogic.gdx.math.Rectangle; + +/** + * + * @author bfz + */ +public class SettingsScreen { + float w = Gdx.graphics.getWidth(); + float h = Gdx.graphics.getHeight(); + + Texture controlsButtonTexture; + Texture volumeButtonTexture; + Texture volumeUpTexture; + Texture volumeDownTexture; + Texture volumeTexture; + Texture backButtonTexture; + + Sprite controlsButtonSprite; + Sprite volumeButtonSprite; + Sprite volumeUpSprite; + Sprite volumeDownSprite; + Sprite volumeSprite; + Sprite backButtonSprite; + + public SettingsScreen(){ + + w = Gdx.graphics.getWidth(); + h = Gdx.graphics.getHeight(); + float wc = w/2; + + controlsButtonTexture = new Texture("sprites/controlsButton.png"); + volumeButtonTexture = new Texture("sprites/volumeButton.png"); + volumeUpTexture = new Texture("sprites/volumeUpButton.png"); + volumeDownTexture = new Texture("sprites/volumeDownButton.png"); + volumeTexture = new Texture("sprites/volume.png"); + backButtonTexture = new Texture("sprites/backButton.png"); + + controlsButtonSprite = new Sprite(controlsButtonTexture); + volumeButtonSprite = new Sprite(volumeButtonTexture); + volumeUpSprite = new Sprite(volumeUpTexture); + volumeDownSprite = new Sprite(volumeDownTexture); + volumeSprite = new Sprite(volumeTexture); + backButtonSprite = new Sprite(backButtonTexture); + + } + + + public void render (SpriteBatch batch, float volume) { + Gdx.gl.glClearColor(0, 0, 0, 1); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + + controlsButtonSprite.setPosition(200, 600); + volumeButtonSprite.setPosition(200, 500); + volumeDownSprite.setPosition(volumeButtonSprite.getX() + 230, volumeButtonSprite.getY()+28); + volumeUpSprite.setPosition(volumeButtonSprite.getX() + 340, volumeButtonSprite.getY()+28); + backButtonSprite.setPosition(50, 50); + + + float n = 0; + if(volume != 0){ + n = volume / 1f; + } + + int newWidth = (int) (n * volumeTexture.getWidth()); + if(newWidth == 0){ + TextureRegion[][] volumeRegion = TextureRegion.split(volumeTexture,1, volumeTexture.getHeight()); + volumeSprite = new Sprite(volumeRegion[0][0]); + volumeSprite.setPosition(-5,-5); + } + else{ + TextureRegion[][] volumeRegion = TextureRegion.split(volumeTexture,newWidth, volumeTexture.getHeight()); + volumeSprite = new Sprite(volumeRegion[0][0]); + volumeSprite.setPosition(volumeButtonSprite.getX() + 278, volumeButtonSprite.getY()+34); + } + + + batch.begin(); + controlsButtonSprite.draw(batch); + volumeButtonSprite.draw(batch); + volumeUpSprite.draw(batch); + volumeDownSprite.draw(batch); + volumeSprite.draw(batch); + backButtonSprite.draw(batch); + batch.end(); + } + + + public int click(int x, int y){ // prueft ob cursor mit button (START) ueberlappt + + + + Rectangle r = new Rectangle(); + r.set(x, h-y, 1, 1); + if(Intersector.overlaps(r, controlsButtonSprite.getBoundingRectangle())){ + return 3; //ControlsScreen + } + if(Intersector.overlaps(r, backButtonSprite.getBoundingRectangle())){ + return 4; //MainMenuScreen + } + if(Intersector.overlaps(r, volumeDownSprite.getBoundingRectangle())){ + return 9; //volume DOWN + } + if(Intersector.overlaps(r, volumeUpSprite.getBoundingRectangle())){ + return 10; //volume UP + } + + return -1; + + } + + +}