From e835d3c795dfc2e5321d0a26e961849a0ac95c80 Mon Sep 17 00:00:00 2001 From: Ricky Barrette Date: Sun, 22 Apr 2012 14:59:07 -0400 Subject: [PATCH] Added called to requestFocus() in GameApplet.init() and GameThread.run() refs #11 The brute force method of requesting focus seems to be the only fix/workaround that I could find. However it doesn't seem to cause any preformance issues Signed-off-by: Ricky Barrette --- .../asteroids/AsteroidGameThread.java | 6 ++++++ .../com/RickBarrette/asteroids/GameApplet.java | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/Asteroids/src/com/RickBarrette/asteroids/AsteroidGameThread.java b/Asteroids/src/com/RickBarrette/asteroids/AsteroidGameThread.java index 95bbd34..9538267 100644 --- a/Asteroids/src/com/RickBarrette/asteroids/AsteroidGameThread.java +++ b/Asteroids/src/com/RickBarrette/asteroids/AsteroidGameThread.java @@ -213,6 +213,12 @@ public class AsteroidGameThread extends Thread { while (true){ if(isStarted) { + /* + * brute force focus, + * this seems to be the only fix I can find, for now + */ + mGameApplet.requestFocus(); + /* * increment time */ diff --git a/Asteroids/src/com/RickBarrette/asteroids/GameApplet.java b/Asteroids/src/com/RickBarrette/asteroids/GameApplet.java index acb4165..f58fb55 100644 --- a/Asteroids/src/com/RickBarrette/asteroids/GameApplet.java +++ b/Asteroids/src/com/RickBarrette/asteroids/GameApplet.java @@ -216,6 +216,9 @@ public class GameApplet extends JApplet implements ActionListener, KeyListener { repaint(); mGameThread.newGame(); + + this.setFocusable(true); + this.requestFocus(); } /** @@ -254,6 +257,20 @@ public class GameApplet extends JApplet implements ActionListener, KeyListener { @Override public void keyTyped(final KeyEvent e) { + switch(e.getKeyCode()){ + /* + * [Enter] + * Start of pause the game + */ + case KeyEvent.VK_ENTER: + if(mGameThread.isStarted) + mGameThread.pauseGame(); + else + mGameThread.startGame(); + break; + } + + driveShip(e, true); } /**