Fix for new game bug

master
John 2022-06-17 21:38:25 -04:00
parent 5080aeb539
commit c07142bc0d
2 changed files with 8 additions and 2 deletions

View File

@ -79,6 +79,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ
public BufferedImageWrapper villainPortrait = new BufferedImageWrapper(("img/dialogue/Bouncer.png")); public BufferedImageWrapper villainPortrait = new BufferedImageWrapper(("img/dialogue/Bouncer.png"));
public String lastText; public String lastText;
public boolean isContinue; public boolean isContinue;
public boolean isRunning;
public GamePanel(JPanel gameFrame) throws IOException, SpriteException, UnsupportedAudioFileException, LineUnavailableException { public GamePanel(JPanel gameFrame) throws IOException, SpriteException, UnsupportedAudioFileException, LineUnavailableException {
@ -141,6 +142,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ
addUserInterface(); addUserInterface();
this.setPreferredSize(new Dimension(GAME_WIDTH, GAME_HEIGHT)); this.setPreferredSize(new Dimension(GAME_WIDTH, GAME_HEIGHT));
isNewStart = true; isNewStart = true;
isRunning = true;
} }
public void addUserInterface() { public void addUserInterface() {
@ -377,7 +379,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ
double delta = 0; double delta = 0;
long now; long now;
while(true){ //this is the infinite game loop while(isRunning){ //this is the infinite game loop
now = System.nanoTime(); now = System.nanoTime();
delta = delta + (now-lastTime)/ns; delta = delta + (now-lastTime)/ns;
lastTime = now; lastTime = now;
@ -421,6 +423,7 @@ public class GamePanel extends JPanel implements Runnable, KeyListener, Serializ
delta--; delta--;
} }
} }
System.out.println(Thread.currentThread());
} }
public void updateEnemy(){ public void updateEnemy(){

View File

@ -163,11 +163,14 @@ public class MenuPanel extends JPanel implements Runnable, KeyListener{
// logic for different screens starts here // logic for different screens starts here
if (textBoxArray.get(currentBox).id.equals("game-start")) { if (textBoxArray.get(currentBox).id.equals("game-start")) {
try { try {
GameFrame.main.remove(GameFrame.game);
GameFrame.game.isRunning = false;
GameFrame.game = new GamePanel(GameFrame.main); //run GamePanel constructor GameFrame.game = new GamePanel(GameFrame.main); //run GamePanel constructor
GameFrame.game.startThread();
GameFrame.main.add(GameFrame.game, "game", 0);
} catch (IOException | SpriteException | UnsupportedAudioFileException | LineUnavailableException ex) { } catch (IOException | SpriteException | UnsupportedAudioFileException | LineUnavailableException ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
GameFrame.game.startThread();
((CardLayout)gameFrame.getLayout()).show(gameFrame, "game"); ((CardLayout)gameFrame.getLayout()).show(gameFrame, "game");
} else { } else {
((CardLayout) gameFrame.getLayout()).show(gameFrame, textBoxArray.get(currentBox).id); ((CardLayout) gameFrame.getLayout()).show(gameFrame, textBoxArray.get(currentBox).id);