From 08d256e0cd479cc5ffc6693675cd58ac63978d9f Mon Sep 17 00:00:00 2001 From: Makussu Date: Mon, 10 Jun 2024 08:10:54 +0200 Subject: [PATCH] Fix ui draw --- src/Fenster.java | 55 +++++++++++++++++++++++++++++++-------------- src/GameScreen.java | 2 +- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/Fenster.java b/src/Fenster.java index 330cd3f..5c1d510 100644 --- a/src/Fenster.java +++ b/src/Fenster.java @@ -15,6 +15,8 @@ public class Fenster extends PApplet { FileHandleUtil savefile = FileHandleUtil.getInstance(); Player player; Tiles tiles; + int translate_x = 0; + int translate_y = 0; float tilewidth = 40.0f; @@ -54,7 +56,6 @@ public class Fenster extends PApplet { size(800, 800); setupPlayer(); - classSetup(); tiles.settings(); @@ -90,14 +91,18 @@ public class Fenster extends PApplet { @Override public void draw() { // System.out.println(frameRate); - + pushMatrix(); + translate(translate_x, translate_y); if(player.pos.get().x > width) { - translate(-800, 0); + translate_x = -800; + System.out.println("translate: " + translate_x + " : " + translate_y); + } else { + translate_x = 0; } if(player.pos.get().y > height) { - translate(0, -800); - } - + translate_y = -800; + System.out.println("translate: " + translate_x + " : " + translate_y); + } else translate_y = 0; if(!startScreen.draw()) { if(!gameScreen.active() && !fightScreen.active()) { @@ -110,7 +115,8 @@ public class Fenster extends PApplet { deathScreen.draw(); - + popMatrix(); + ui.draw(); if (gametitel) { fill(color(49, 54, 63), gametitel_gamma); rect(0, 0, 800, 800); @@ -144,16 +150,18 @@ public class Fenster extends PApplet { gametitel_fade = true; } } - if (key == 'w') { - dead(); - } - if (key == 'u') { - try { - closeGame(); - } catch (IOException e) { - throw new RuntimeException(e); - } - exit(); + switch(key) { + case 'w': + // code block + dead(); + case 'u': + // code block + try { + closeGame(); + } catch (IOException e) { + throw new RuntimeException(e); + } + exit(); } startScreen.keyPressed(); gameScreen.keyPressed(); @@ -172,13 +180,16 @@ public class Fenster extends PApplet { List allSaves = savefile.readLatestScores(); if (allSaves.size() == 0) { player = new Player(this); + classSetup(); } else { save = allSaves.getLast(); player = new Player(this, save.getScore(), save.getPosition(), save.getHealth()); System.out.println(save.getPosition().x + " : " + save.getPosition().y); + classSetupWithSave(); } } catch (IOException e) { player = new Player(this); + classSetup(); } } @@ -200,6 +211,16 @@ public class Fenster extends PApplet { deathScreen = new DeathScreen(this); } + void classSetupWithSave() { + tiles = new Tiles(this, 40.0f); + startScreen = new StartScreen(this); + gameScreen = new GameScreen(this); + fightScreen = new FightScreen(this); + deathScreen = new DeathScreen(this); + startScreen.isState = false; + gameScreen.isState = true; + } + public void dead() { soundTrack.stop(); deathSound.play(); diff --git a/src/GameScreen.java b/src/GameScreen.java index 3782f34..8a08f96 100644 --- a/src/GameScreen.java +++ b/src/GameScreen.java @@ -45,7 +45,7 @@ public class GameScreen implements State { tiles.set(player.pos.grid_x, player.pos.grid_y, player); - ui.draw(); + } return isState; }