mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
fix gamehud touch
This commit is contained in:
@@ -30,13 +30,14 @@ public class GameHUD extends Stage {
|
|||||||
private final Label lifePoints;
|
private final Label lifePoints;
|
||||||
private final Label money;
|
private final Label money;
|
||||||
private Image miniMap;
|
private Image miniMap;
|
||||||
|
UIActor ui;
|
||||||
|
|
||||||
private GameHUD(GameStage gameStage) {
|
private GameHUD(GameStage gameStage) {
|
||||||
super(new FitViewport(Scene.GetIntendedWidth(), Scene.GetIntendedHeight()), gameStage.getBatch());
|
super(new FitViewport(Scene.GetIntendedWidth(), Scene.GetIntendedHeight()), gameStage.getBatch());
|
||||||
instance = this;
|
instance = this;
|
||||||
this.gameStage = gameStage;
|
this.gameStage = gameStage;
|
||||||
|
|
||||||
UIActor ui = new UIActor(Config.instance().getFile(GuiBase.isAndroid() ? "ui/hud_mobile.json" : "ui/hud.json"));
|
ui = new UIActor(Config.instance().getFile(GuiBase.isAndroid() ? "ui/hud_mobile.json" : "ui/hud.json"));
|
||||||
miniMap = ui.findActor("map");
|
miniMap = ui.findActor("map");
|
||||||
|
|
||||||
|
|
||||||
@@ -90,7 +91,7 @@ public class GameHUD extends Stage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void statistic() {
|
private void statistic() {
|
||||||
|
Forge.switchScene(SceneType.PlayerStatisticScene.instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static GameHUD getInstance() {
|
public static GameHUD getInstance() {
|
||||||
@@ -105,10 +106,50 @@ public class GameHUD extends Stage {
|
|||||||
|
|
||||||
float x=(c.x-miniMap.getX())/miniMap.getWidth();
|
float x=(c.x-miniMap.getX())/miniMap.getWidth();
|
||||||
float y=(c.y-miniMap.getY())/miniMap.getHeight();
|
float y=(c.y-miniMap.getY())/miniMap.getHeight();
|
||||||
|
|
||||||
|
float deckX = ui.findActor("deck").getX();
|
||||||
|
float deckY = ui.findActor("deck").getY();
|
||||||
|
float deckR = ui.findActor("deck").getRight();
|
||||||
|
float deckT = ui.findActor("deck").getTop();
|
||||||
|
//deck button bounds
|
||||||
|
if (c.x>=deckX&&c.x<=deckR&&c.y>=deckY&&c.y<=deckT) {
|
||||||
|
instance.openDeck();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
float menuX = ui.findActor("menu").getX();
|
||||||
|
float menuY = ui.findActor("menu").getY();
|
||||||
|
float menuR = ui.findActor("menu").getRight();
|
||||||
|
float menuT = ui.findActor("menu").getTop();
|
||||||
|
//menu button bounds
|
||||||
|
if (c.x>=menuX&&c.x<=menuR&&c.y>=menuY&&c.y<=menuT) {
|
||||||
|
instance.menu();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
float statsX = ui.findActor("statistic").getX();
|
||||||
|
float statsY = ui.findActor("statistic").getY();
|
||||||
|
float statsR = ui.findActor("statistic").getRight();
|
||||||
|
float statsT = ui.findActor("statistic").getTop();
|
||||||
|
//stats button bounds
|
||||||
|
if (c.x>=statsX&&c.x<=statsR&&c.y>=statsY&&c.y<=statsT) {
|
||||||
|
instance.statistic();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
float uiX = ui.findActor("gamehud").getX();
|
||||||
|
float uiY = ui.findActor("gamehud").getY();
|
||||||
|
float uiTop = ui.findActor("gamehud").getTop();
|
||||||
|
float uiRight = ui.findActor("gamehud").getRight();
|
||||||
|
//gamehud bounds
|
||||||
|
if (c.x>=uiX&&c.x<=uiRight&&c.y>=uiY&&c.y<=uiTop) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//move player except touching the gamehud bounds and buttons
|
||||||
if(x>=0&&x<=1.0&&y>=0&&y<=1.0)
|
if(x>=0&&x<=1.0&&y>=0&&y<=1.0)
|
||||||
{
|
{
|
||||||
WorldStage.getInstance().GetPlayer().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
|
WorldStage.getInstance().GetPlayer().setPosition(x*WorldSave.getCurrentSave().getWorld().getWidthInPixels(),y*WorldSave.getCurrentSave().getWorld().getHeightInPixels());
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return super.touchDown(screenX,screenY, pointer,button);
|
return super.touchDown(screenX,screenY, pointer,button);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class WorldSave {
|
|||||||
currentSave.onLoadList.emit();
|
currentSave.onLoadList.emit();
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (ClassNotFoundException | IOException e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return false;
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
"elements":[
|
"elements":[
|
||||||
{
|
{
|
||||||
"type" : "Image",
|
"type" : "Image",
|
||||||
|
"name" : "gamehud",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 206,
|
"height": 206,
|
||||||
"image":"ui/hud.png",
|
"image":"ui/hud.png",
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
"elements":[
|
"elements":[
|
||||||
{
|
{
|
||||||
"type" : "Image",
|
"type" : "Image",
|
||||||
|
"name" : "gamehud",
|
||||||
"width": 64,
|
"width": 64,
|
||||||
"height": 206,
|
"height": 206,
|
||||||
"image":"ui/hud.png",
|
"image":"ui/hud.png",
|
||||||
|
|||||||
Reference in New Issue
Block a user