From 5eb77f50746d336d87ac0aa55e0255c145c5fb63 Mon Sep 17 00:00:00 2001 From: GammelJan Date: Sun, 28 Jun 2020 22:49:53 +0200 Subject: [PATCH] lol EHRE --- android/assets/sprites/controls/arrowDown.png | Bin 0 -> 1919 bytes android/assets/sprites/controls/arrowLeft.png | Bin 0 -> 1983 bytes .../assets/sprites/controls/arrowRight.png | Bin 0 -> 2001 bytes android/assets/sprites/controls/arrowUp.png | Bin 0 -> 1910 bytes core/assets/sprites/controls/arrowDown.png | Bin 0 -> 1919 bytes core/assets/sprites/controls/arrowLeft.png | Bin 0 -> 1983 bytes core/assets/sprites/controls/arrowRight.png | Bin 0 -> 2001 bytes core/assets/sprites/controls/arrowUp.png | Bin 0 -> 1910 bytes .../dungeoncrawler/control/Controller.java | 173 ++++++++++++++---- core/src/com/dungeoncrawler/view/Button.java | 73 ++++++++ .../com/dungeoncrawler/view/GameScreen.java | 45 +++-- .../com/dungeoncrawler/view/HudContainer.java | 16 ++ 12 files changed, 251 insertions(+), 56 deletions(-) create mode 100644 android/assets/sprites/controls/arrowDown.png create mode 100644 android/assets/sprites/controls/arrowLeft.png create mode 100644 android/assets/sprites/controls/arrowRight.png create mode 100644 android/assets/sprites/controls/arrowUp.png create mode 100644 core/assets/sprites/controls/arrowDown.png create mode 100644 core/assets/sprites/controls/arrowLeft.png create mode 100644 core/assets/sprites/controls/arrowRight.png create mode 100644 core/assets/sprites/controls/arrowUp.png create mode 100644 core/src/com/dungeoncrawler/view/Button.java diff --git a/android/assets/sprites/controls/arrowDown.png b/android/assets/sprites/controls/arrowDown.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8f14198435a859660f607b58c5807c1c675a84 GIT binary patch literal 1919 zcmV-_2Y~pAP)EX>4Tx04R}tkv&MmKpe$iQ?()$K|6?a$WWauh>8d+H=vDG21AHR!EYl5(c%67^ z)6zNb6NgwyQi#uqM-93l@gvt|m)|%S9Ts?I$jGGTh(p9;v5n<6W+g)Qj!-!)M2_zvxMim<>z{|sDdEq|pBOn;JI zYiW@qpl=(vxNd3k9&ot>3_j_SAvuztrcfvV?`QN)Ibh%x=vj4pYwqLp0mx8SOE@|;fcenTU@0n(QKM(y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm7E6AUlSih<7n000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000G6NklgpM6vzL-B7_zQU?(%=TPfr+t!L7@ zN%};2j;Kt-6VRkd9zo+*Nkx=HuaVxlzB{_E@$>z@F%ur}&S@GkX z{j1Lx=GI6FH-9LJRb zF$@FGo;?H4^Ef>{#plnTk>@!&osP}Thm&C#uq+FVF}SXamoH!1RSGG`aqOd`BQ%>$ z_`Z*RzYovz;JPkI;R(|;K`8}e3>Oy{ORlSe<#`Uz^FS$uEXy!W6G0H*{{8#li%vYx zmvmphe#M(NZ|o{6mFv22T^FaPr$~|n9LFtA_Bf7ladA<(aJp)RQaO%e>$+ZwQR$H^ z%PKXo|4W#qX^K407eW5-_7~(YNYy}Iy?SN8e*JoD3b*Na{Ga}*Wm$Oe-~rn0w!ICA zO~)gDaucN#s;WZQbtFl$u{S8Cuq+E{nnKrg+!#nioMJd&d=XuoYb);!p-k+u^f*>ftZWQGB_}Ff@+qNW05JeG$5D-Gjotq#C z5JeI7dL6PXgXejOqKI0pR)$p^#|VM|lgR|5(Fpy1AHMJ7)2C1NjjC3++qJ)c|BjzO zf8y7#UkHK#Ns@pNf;)Haz%UGGng&%>p{go0O)J}FSq1=1r&IX856|<^>-F&A!w36T zX&Mwofubl-RTYY&KorF?B$Fh;WHP~EFxUuUE34nx zY=$h$7GgY2)AE|{SG47MUS37}rna>&dlC2J@fd`Va^iCw2SE@polX&kVR=PSw6ImJ z1V|W$V2q(wtF8Px3xa^jWP%_Fz!(E#48!3NqtOVAv8^mTHwGybY<^9(4y1q>38Ob9v*^Hx;j6iX&Rc%W|_IFn$0I`(=^3+JpMO7(&=>UlamvioSfj>w{P%$zue7L z(Q36C;yA|n`8mFP`GOxme&Frfw>ANmvp~hhr>Yi)A9%cDtsKHD7v<+`FX6Hh0*{3002ovPDHLk FV1nKzarpoM literal 0 HcmV?d00001 diff --git a/android/assets/sprites/controls/arrowLeft.png b/android/assets/sprites/controls/arrowLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f1cdac845253a036899cd07429f057d86a6f32 GIT binary patch literal 1983 zcmV;w2SE6VP)EX>4Tx04R}tkv&MmKpe$iQ?()$K|6?a$WWauh>8d+H=vDG21AHR!EYl5(c%67^ z)6zNb6NgwyQi#uqM-93l@gvt|m)|%S9Ts?I$jGGTh(p9;v5n<6W+g)Qj!-!)M2_zvxMim<>z{|sDdEq|pBOn;JI zYiW@qpl=(vxNd3k9&ot>3_j_SAvuztrcfvV?`QN)Ibh%x=vj4pYwqLp0mx8SOE@|;fcenTU@0n(QKM(y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm7E6AcEIBPikk000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000G+Nkl2&b!-8<~= z?k*%=4i69Ijg1XRl7wEb2VK|k@#9Av9UVMC?yhwHik0MGNFC<+usK^TS$ ziw)B>(eL*G0Hsn1tE;PV%y5yMA_+B{O$0%JDRH;-FBcWMkwzjqg!!Xcpw?QH~H5v^NLJ}dNSEP+pr!sDkQ2=0!!8A>L`0ydoa=OY$^n@{%csb1ka?_1o=Z|e| zZCxo_+qUuc?OQp~Aluv9a;;YTWy0Is+?0O@hF%v$ypsFg~ym^xhX>D(B%XjYFK|Y_4 z%WqK>Q7)GuiXuj%5p3Irs;c<>`7>U>ek~_1*dqy5t5ryn1fJ)?aU29efGCRKc^<>z z5SC@l6=JR+lMv-{8O34|f*{1LKq{5OcsxcJhVXrVs=P=H$a#oTsf0qIfLtyY#|dK$ z_v)RP@`Z{X08a6jK<%N1=Wn~5Ba`{pSQ50j3FvgI{WRT5fQ79Au0NHFd z-gYjw}VMDkG-1*)pTvaFlavqvyrzkWr( z-^aMb=zpyrX|-DNlP6E)=-8i9ic+bBAPC_5J}9MFT3SNA zUcbl3c&vN3Yj| zqA1Wb4VGoWbzQiw3&t2ENs2qm#GazGS}pnU*OHR*zmA!oVQoa$p)*|iy z1wsfxKA*?R$_n=O_T*>Jp2;^7L=XhjYBfB3_z;gCJ;K`B8g3d4bsPtZqJR)`VZeBk zj02_zjI~+~x~|7_>`A-q)`{!3$-(X2yLT}d4E`C0PJZe99DB0qaa}i_X)g-q{NT1w zDB#nlPiVK>(|IJCV+TP1N+~2siZ_Dj)NqlKi-xw9N(H8A;`HC(6f{k{a38=- zC5ma9I5{~1Ap~I<&b_;v)g!iTBMd`~MxzUZ+nEoRUcGvin7q>Mb}x+4zXQJ~8=Z3q R&8z?b002ovPDHLkV1iLjnS1~M literal 0 HcmV?d00001 diff --git a/android/assets/sprites/controls/arrowRight.png b/android/assets/sprites/controls/arrowRight.png new file mode 100644 index 0000000000000000000000000000000000000000..9124740109703fc50dd59901a8d2877ae6043494 GIT binary patch literal 2001 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 FV1nKzarpoM literal 0 HcmV?d00001 diff --git a/core/assets/sprites/controls/arrowLeft.png b/core/assets/sprites/controls/arrowLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f1cdac845253a036899cd07429f057d86a6f32 GIT binary patch literal 1983 zcmV;w2SE6VP)EX>4Tx04R}tkv&MmKpe$iQ?()$K|6?a$WWauh>8d+H=vDG21AHR!EYl5(c%67^ z)6zNb6NgwyQi#uqM-93l@gvt|m)|%S9Ts?I$jGGTh(p9;v5n<6W+g)Qj!-!)M2_zvxMim<>z{|sDdEq|pBOn;JI zYiW@qpl=(vxNd3k9&ot>3_j_SAvuztrcfvV?`QN)Ibh%x=vj4pYwqLp0mx8SOE@|;fcenTU@0n(QKM(y{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jm7E6AcEIBPikk000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000G+Nkl2&b!-8<~= z?k*%=4i69Ijg1XRl7wEb2VK|k@#9Av9UVMC?yhwHik0MGNFC<+usK^TS$ ziw)B>(eL*G0Hsn1tE;PV%y5yMA_+B{O$0%JDRH;-FBcWMkwzjqg!!Xcpw?QH~H5v^NLJ}dNSEP+pr!sDkQ2=0!!8A>L`0ydoa=OY$^n@{%csb1ka?_1o=Z|e| zZCxo_+qUuc?OQp~Aluv9a;;YTWy0Is+?0O@hF%v$ypsFg~ym^xhX>D(B%XjYFK|Y_4 z%WqK>Q7)GuiXuj%5p3Irs;c<>`7>U>ek~_1*dqy5t5ryn1fJ)?aU29efGCRKc^<>z z5SC@l6=JR+lMv-{8O34|f*{1LKq{5OcsxcJhVXrVs=P=H$a#oTsf0qIfLtyY#|dK$ z_v)RP@`Z{X08a6jK<%N1=Wn~5Ba`{pSQ50j3FvgI{WRT5fQ79Au0NHFd z-gYjw}VMDkG-1*)pTvaFlavqvyrzkWr( z-^aMb=zpyrX|-DNlP6E)=-8i9ic+bBAPC_5J}9MFT3SNA zUcbl3c&vN3Yj| zqA1Wb4VGoWbzQiw3&t2ENs2qm#GazGS}pnU*OHR*zmA!oVQoa$p)*|iy z1wsfxKA*?R$_n=O_T*>Jp2;^7L=XhjYBfB3_z;gCJ;K`B8g3d4bsPtZqJR)`VZeBk zj02_zjI~+~x~|7_>`A-q)`{!3$-(X2yLT}d4E`C0PJZe99DB0qaa}i_X)g-q{NT1w zDB#nlPiVK>(|IJCV+TP1N+~2siZ_Dj)NqlKi-xw9N(H8A;`HC(6f{k{a38=- zC5ma9I5{~1Ap~I<&b_;v)g!iTBMd`~MxzUZ+nEoRUcGvin7q>Mb}x+4zXQJ~8=Z3q R&8z?b002ovPDHLkV1iLjnS1~M literal 0 HcmV?d00001 diff --git a/core/assets/sprites/controls/arrowRight.png b/core/assets/sprites/controls/arrowRight.png new file mode 100644 index 0000000000000000000000000000000000000000..9124740109703fc50dd59901a8d2877ae6043494 GIT binary patch literal 2001 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 w#;mrd2ZI5EAV_W2E+j%0ll*qf 0.75 * Gdx.graphics.getWidth()) { - d.getPlayer().setMovementX(d.getPlayer().getMovementSpeed()); - } - if (screenX > 0.25 * Gdx.graphics.getWidth() && screenX < 0.75 * Gdx.graphics.getWidth() && screenY > 0.5 * Gdx.graphics.getHeight()) { - d.getPlayer().setMovementY(d.getPlayer().getMovementSpeed()); - } - else if(screenX > 0.25 * Gdx.graphics.getWidth() && screenX < 0.75 * Gdx.graphics.getWidth() && screenY < 0.5 * Gdx.graphics.getHeight()){ - d.getPlayer().setMovementY(-d.getPlayer().getMovementSpeed()); - } + if(gs != null){ + switch(gs.click(screenX, screenY)){ // -1: nix, 0: left, 1: up, 2: right, 3: down, 4: attackLeft, 5: attackUp, 6: attackRight, 7: attackDown + case 0: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementX(-d.getPlayer().getMovementSpeed()); + } + break; + case 1: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementX(d.getPlayer().getMovementSpeed()); + } + break; + case 2: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementY(-d.getPlayer().getMovementSpeed()); + } + break; + case 3: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementY(d.getPlayer().getMovementSpeed()); + } + break; } - //} + } return true; } @@ -1022,19 +1060,53 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ return cs.click(x, y); } if(gs != null && isPaused == true){ - + return gs.click(x,y); } return -1; } @Override - public boolean touchUp(int i, int i1, int i2, int i3) { - return false; + public boolean touchUp(int screenX, int screenY, int i2, int i3) { + if(gs != null){ + if(click(screenX,screenY) == 0 || click(screenX,screenY) == 1 || click(screenX,screenY) == 2 || click(screenX,screenY) == 3){ + d.getPlayer().setMovementX(0); + d.getPlayer().setMovementY(0); + d.getPlayer().setMovementX(0); + d.getPlayer().setMovementY(0); + } + } + return true; } @Override - public boolean touchDragged(int i, int i1, int i2) { + public boolean touchDragged(int screenX, int screenY, int i2) { + d.getPlayer().setMovementX(0); + d.getPlayer().setMovementY(0); + d.getPlayer().setMovementX(0); + d.getPlayer().setMovementY(0); + switch(click(screenX, screenY)){ // -1: nix, 0: left, 1: up, 2: right, 3: down, 4: attackLeft, 5: attackUp, 6: attackRight, 7: attackDown + case 0: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementX(-d.getPlayer().getMovementSpeed()); + } + break; + case 1: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementX(d.getPlayer().getMovementSpeed()); + } + break; + case 2: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementY(-d.getPlayer().getMovementSpeed()); + } + break; + case 3: + if(!d.getPlayer().isToDelete()){ + d.getPlayer().setMovementY(d.getPlayer().getMovementSpeed()); + } + break; + } return false; } @@ -1061,13 +1133,36 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ entityMovement.stop(); gs.stop(); cs = null; + GAME_WORLD_WIDTH = 1600; + GAME_WORLD_HEIGHT = 900; + camera = null; + viewport = null; + camera = new OrthographicCamera(); + camera.update(); + viewport = new FitViewport(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT, camera); + viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); + viewport.apply(); + camera.position.set(GAME_WORLD_WIDTH / 2, GAME_WORLD_HEIGHT / 2, 0); + camera.update(); ps = new PauseScreen(); } public void resume(){ + GAME_WORLD_WIDTH = 700; + GAME_WORLD_HEIGHT = 380; + camera = null; + viewport = null; + camera = new OrthographicCamera(); + camera.update(); + viewport = new FitViewport(GAME_WORLD_WIDTH, GAME_WORLD_HEIGHT, camera); + viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); + viewport.apply(); + camera.position.set(GAME_WORLD_WIDTH / 2 - 170, GAME_WORLD_HEIGHT / 2 + 20, 0); + camera.update(); isPaused = false; entityMovement.start(); gs.resume(); - + + ps = null; gs.startLoadingScreen(); } diff --git a/core/src/com/dungeoncrawler/view/Button.java b/core/src/com/dungeoncrawler/view/Button.java new file mode 100644 index 0000000..d2b3f0b --- /dev/null +++ b/core/src/com/dungeoncrawler/view/Button.java @@ -0,0 +1,73 @@ +package com.dungeoncrawler.view; + +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.Sprite; + +public class Button { + + Sprite sprite; + int xPos; + int yPos; + int width; + int height; + int id; + + public Button(String texture, int x, int y, int id) { + this.sprite = new Sprite(new Texture(texture)); + this.xPos = x; + this.yPos = y; + this.width = (int) sprite.getWidth(); + this.height = (int) sprite.getHeight(); + sprite.setX(x); + sprite.setY(y); + this.id = id; + } + + public Sprite getSprite() { + return sprite; + } + + public void setSprite(Sprite sprite) { + this.sprite = sprite; + } + + public int getxPos() { + return xPos; + } + + public void setxPos(int xPos) { + this.xPos = xPos; + } + + public int getyPos() { + return yPos; + } + + public void setyPos(int yPos) { + this.yPos = yPos; + } + + public int getWidth() { + return width; + } + + public void setWidth(int width) { + this.width = width; + } + + public int getHeight() { + return height; + } + + public void setHeight(int height) { + this.height = height; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index 5ad74e7..b439c83 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -13,6 +13,7 @@ import com.badlogic.gdx.maps.tiled.TiledMap; import com.badlogic.gdx.maps.tiled.TiledMapRenderer; import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; import com.badlogic.gdx.math.Intersector; +import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.utils.Timer; import com.dungeoncrawler.model.Dungeon; import com.dungeoncrawler.model.Entity; @@ -39,7 +40,6 @@ public class GameScreen { private Map m; TiledMapRenderer tmr; TiledMap tm; - OrthographicCamera camera; public ArrayList objects; public ArrayList mapItems; public ArrayList doors; @@ -65,6 +65,9 @@ public class GameScreen { public Music music; //Inventory TEST + + // CONTROLS + ArrayList