From 6e66f9edd355e0eb4b435b40c0ba7795fd67a944 Mon Sep 17 00:00:00 2001 From: Jan Ehehalt Date: Mon, 29 Jun 2020 08:01:12 +0200 Subject: [PATCH] lol --- .../dungeoncrawler/control/Controller.java | 41 ++++++++----------- core/src/com/dungeoncrawler/view/Button.java | 17 ++++++++ .../com/dungeoncrawler/view/GameScreen.java | 9 ++-- 3 files changed, 38 insertions(+), 29 deletions(-) diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index 21cd801..6f1504e 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -18,9 +18,7 @@ import com.badlogic.gdx.maps.MapObjects; import com.badlogic.gdx.maps.objects.RectangleMapObject; import com.badlogic.gdx.math.Intersector; import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.utils.viewport.FillViewport; import com.badlogic.gdx.utils.viewport.FitViewport; -import com.badlogic.gdx.utils.viewport.StretchViewport; import com.badlogic.gdx.utils.viewport.Viewport; import com.dungeoncrawler.view.*; import com.dungeoncrawler.model.Dungeon; @@ -29,7 +27,6 @@ import com.dungeoncrawler.model.entities.*; import com.dungeoncrawler.model.Entity; import com.badlogic.gdx.utils.Timer; import com.dungeoncrawler.model.ItemContainer; -import com.sun.org.apache.xpath.internal.operations.Or; import java.util.ArrayList; @@ -1016,28 +1013,22 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } 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; - } + if(!d.getPlayer().isToDelete()){ + 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: + d.getPlayer().setMovementX(-d.getPlayer().getMovementSpeed()); + break; + case 1: + d.getPlayer().setMovementX(d.getPlayer().getMovementSpeed()); + break; + case 2: + d.getPlayer().setMovementY(-d.getPlayer().getMovementSpeed()); + break; + case 3: + d.getPlayer().setMovementY(d.getPlayer().getMovementSpeed()); + break; + } + } } return true; diff --git a/core/src/com/dungeoncrawler/view/Button.java b/core/src/com/dungeoncrawler/view/Button.java index d2b3f0b..8b1fb6f 100644 --- a/core/src/com/dungeoncrawler/view/Button.java +++ b/core/src/com/dungeoncrawler/view/Button.java @@ -2,6 +2,7 @@ package com.dungeoncrawler.view; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; +import com.badlogic.gdx.math.Rectangle; public class Button { @@ -11,9 +12,11 @@ public class Button { int width; int height; int id; + private Rectangle rect; public Button(String texture, int x, int y, int id) { this.sprite = new Sprite(new Texture(texture)); + rect = sprite.getBoundingRectangle(); this.xPos = x; this.yPos = y; this.width = (int) sprite.getWidth(); @@ -70,4 +73,18 @@ public class Button { public void setId(int id) { this.id = id; } + + /** + * @return the rect + */ + public Rectangle getRect() { + return rect; + } + + /** + * @param rect the rect to set + */ + public void setRect(Rectangle rect) { + this.rect = rect; + } } diff --git a/core/src/com/dungeoncrawler/view/GameScreen.java b/core/src/com/dungeoncrawler/view/GameScreen.java index b439c83..c55ded7 100644 --- a/core/src/com/dungeoncrawler/view/GameScreen.java +++ b/core/src/com/dungeoncrawler/view/GameScreen.java @@ -179,8 +179,8 @@ public class GameScreen { // CONTROLS controls = new ArrayList(); - int hudX = -170; - int hudY = 20; + int hudX = -160; + int hudY = 25; controls.add(new Button("sprites/controls/arrowLeft.png", hudX + 0, hudY + 50, 0)); controls.add(new Button("sprites/controls/arrowUp.png", hudX + 50, hudY + 100, 1)); controls.add(new Button("sprites/controls/arrowRight.png", hudX + 100, hudY + 50, 2)); @@ -528,8 +528,9 @@ public class GameScreen { } } public int click(int x, int y){ - x = (int)((float)x / (float)Gdx.graphics.getWidth() * 1600f) - 170; - y = 900-(int)((float)y / Gdx.graphics.getHeight() * 900); + x = (int)((float)x / (float)Gdx.graphics.getWidth() * 1600f) - 160; + y = 900-(int)((float)y / Gdx.graphics.getHeight() * 900) + 25; + System.out.println("X: "+x+"| Y: "+y); Rectangle mouse = new Rectangle(x,y,1,1); for(Button button : controls){ if(Intersector.overlaps(mouse, button.getSprite().getBoundingRectangle())){